package inhibeans.value;

import javafx.beans.value.ObservableValue;

public interface InhibitoryObservableValue<T>
extends ObservableValue<T>, AutoCloseable {

    /**
     * Prevents invalidation and change events from being emitted.
     *
     * @return {@code this}. This makes it convenient to use the return
     * value of {@code block()} in try-with-resources.
     */
    AutoCloseable block();

    /**
     * Resumes the delivery of invalidation and change events.
     * If this observable value has been invalidated multiple
     * times since the call to {@link #block()}, invalidation
     * and change listeners will only be executed once.
     */
    void release();

    /**
     * Equivalent to {@link #release()}.
     */
    @Override
    default void close() {
        release();
    }
}

@@ -801,11 +801,252 @@
 );%0A    %7D
+%0A%0A    /**%0A     * Equivalent to%0A     * %3Cpre%3E%0A     * %7B@code%0A     * this.block();%0A     * r.run();%0A     * this.release();%0A     * %7D%3C/pre%3E%0A     */%0A    default void blockWhile(Runnable r) %7B%0A        block();%0A        r.run();%0A        release();%0A    %7D
 %0A%7D%0A

Add the blockWhile(Runnable) method.