wffweb/src/main/java/com/webfirmframework/wffweb/server/page/BrowserPage.java
public final void unholdPush() {

        if (holdPush.get() > 0) {

            synchronized (wffBMBytesQueue) {

                holdPush.decrementAndGet();

                ByteBuffer wffBM = wffBMBytesHoldPushQueue.poll();

                if (wffBM != null) {

                    final NameValue invokeMultipleTasks = Task
                            .getTaskOfTasksNameValue();

                    final Deque<ByteBuffer> wffBMs = new ArrayDeque<>(
                            wffBMBytesHoldPushQueue.size() + 1);

                    do {

                        wffBMs.add(wffBM);

                        wffBM = wffBMBytesHoldPushQueue.poll();
                    } while (wffBM != null);

                    final byte[][] values = new byte[wffBMs.size()][0];

                    int index = 0;
                    for (final ByteBuffer eachWffBM : wffBMs) {
                        values[index] = eachWffBM.array();
                        index++;
                    }

                    invokeMultipleTasks.setValues(values);

                    wffBMBytesQueue
                            .add(ByteBuffer.wrap(WffBinaryMessageUtil.VERSION_1
                                    .getWffBinaryMessageBytes(
                                            invokeMultipleTasks)));
                    pushQueueSize.increment();

                    pushWffBMBytesQueue();
                }

            }
        }

    }
public final void unholdPush() {

        if (holdPush.get() > 0) {

            synchronized (wffBMBytesQueue) {

                holdPush.decrementAndGet();

                ByteBuffer wffBM = wffBMBytesHoldPushQueue.poll();

                if (wffBM != null) {

                    final NameValue invokeMultipleTasks = Task
                            .getTaskOfTasksNameValue();

                    final Deque<ByteBuffer> wffBMs = new ArrayDeque<>(
                            wffBMBytesHoldPushQueue.size() + 1);

                    do {

                        wffBMs.add(wffBM);

                        wffBM = wffBMBytesHoldPushQueue.poll();
                    } while (wffBM != null);

                    final byte[][] values = new byte[wffBMs.size()][0];

                    int index = 0;
                    for (final ByteBuffer eachWffBM : wffBMs) {
                        values[index] = eachWffBM.array();
                        index++;
                    }

                    invokeMultipleTasks.setValues(values);

                    wffBMBytesQueue
                            .add(ByteBuffer.wrap(WffBinaryMessageUtil.VERSION_1
                                    .getWffBinaryMessageBytes(
                                            invokeMultipleTasks)));
                    pushQueueSize.increment();

                    pushWffBMBytesQueue();
                }

            }
        }

    }
public final void unholdPush ( ) { if ( holdPush . get ( ) > 0 ) { synchronized ( wffBMBytesQueue ) { holdPush . decrementAndGet ( ) ; ByteBuffer wffBM = wffBMBytesHoldPushQueue . poll ( ) ; if ( wffBM != null ) { final NameValue invokeMultipleTasks = Task . getTaskOfTasksNameValue ( ) ; final Deque < ByteBuffer > wffBMs = new ArrayDeque <> ( wffBMBytesHoldPushQueue . size ( ) + 1 ) ; do { wffBMs . add ( wffBM ) ; wffBM = wffBMBytesHoldPushQueue . poll ( ) ; } while ( wffBM != null ) ; final byte [ ] [ ] values = new byte [ wffBMs . size ( ) ] [ 0 ] ; int index = 0 ; for ( final ByteBuffer eachWffBM : wffBMs ) { values [ index ] = eachWffBM . array ( ) ; index ++ ; } invokeMultipleTasks . setValues ( values ) ; wffBMBytesQueue . add ( ByteBuffer . wrap ( WffBinaryMessageUtil . VERSION_1 . getWffBinaryMessageBytes ( invokeMultipleTasks ) ) ) ; pushQueueSize . increment ( ) ; pushWffBMBytesQueue ( ) ; } } } }
unholds push if not already unheld. Usage :-

<pre>
try {
browserPage.holdPush();

for (AbstractHtml tag : tags) {
tag.removeAttributes("style");
}
// other tag manipulations
} finally {
browserPage.unholdPush();
}
</pre>

@since 2.1.3
@author WFF
unholds push if not already unheld . Usage : -