wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/AbstractHtml.java
public void appendChildren(final Collection<AbstractHtml> children) {

        boolean listenerInvoked = false;
        final Lock lock = sharedObject.getLock(ACCESS_OBJECT).writeLock();
        try {
            lock.lock();

            final Collection<ChildMovedEvent> movedOrAppended = new ArrayDeque<>(
                    children.size());

            for (final AbstractHtml child : children) {
                final AbstractHtml previousParent = child.parent;

                addChild(child, false);

                final ChildMovedEvent event = new ChildMovedEvent(
                        previousParent, this, child);
                movedOrAppended.add(event);

            }

            final ChildTagAppendListener listener = sharedObject
                    .getChildTagAppendListener(ACCESS_OBJECT);
            if (listener != null) {
                listener.childrendAppendedOrMoved(movedOrAppended);
                listenerInvoked = true;
            }
        } finally {
            lock.unlock();
        }
        if (listenerInvoked) {
            final PushQueue pushQueue = sharedObject
                    .getPushQueue(ACCESS_OBJECT);
            if (pushQueue != null) {
                pushQueue.push();
            }
        }
    }
public void appendChildren(final Collection<AbstractHtml> children) {

        boolean listenerInvoked = false;
        final Lock lock = sharedObject.getLock(ACCESS_OBJECT).writeLock();
        try {
            lock.lock();

            final Collection<ChildMovedEvent> movedOrAppended = new ArrayDeque<>(
                    children.size());

            for (final AbstractHtml child : children) {
                final AbstractHtml previousParent = child.parent;

                addChild(child, false);

                final ChildMovedEvent event = new ChildMovedEvent(
                        previousParent, this, child);
                movedOrAppended.add(event);

            }

            final ChildTagAppendListener listener = sharedObject
                    .getChildTagAppendListener(ACCESS_OBJECT);
            if (listener != null) {
                listener.childrendAppendedOrMoved(movedOrAppended);
                listenerInvoked = true;
            }
        } finally {
            lock.unlock();
        }
        if (listenerInvoked) {
            final PushQueue pushQueue = sharedObject
                    .getPushQueue(ACCESS_OBJECT);
            if (pushQueue != null) {
                pushQueue.push();
            }
        }
    }
public void appendChildren ( final Collection < AbstractHtml > children ) { boolean listenerInvoked = false ; final Lock lock = sharedObject . getLock ( ACCESS_OBJECT ) . writeLock ( ) ; try { lock . lock ( ) ; final Collection < ChildMovedEvent > movedOrAppended = new ArrayDeque <> ( children . size ( ) ) ; for ( final AbstractHtml child : children ) { final AbstractHtml previousParent = child . parent ; addChild ( child , false ) ; final ChildMovedEvent event = new ChildMovedEvent ( previousParent , this , child ) ; movedOrAppended . add ( event ) ; } final ChildTagAppendListener listener = sharedObject . getChildTagAppendListener ( ACCESS_OBJECT ) ; if ( listener != null ) { listener . childrendAppendedOrMoved ( movedOrAppended ) ; listenerInvoked = true ; } } finally { lock . unlock ( ) ; } if ( listenerInvoked ) { final PushQueue pushQueue = sharedObject . getPushQueue ( ACCESS_OBJECT ) ; if ( pushQueue != null ) { pushQueue . push ( ) ; } } }
adds the given children to the last position of the current children of
this object.

@param children
children to append in this object's existing
children.
@author WFF
adds the given children to the last position of the current children of this object .