wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/AbstractHtml.java
public boolean insertAfter(final AbstractHtml... abstractHtmls) {

        if (parent == null) {
            throw new NoParentException("There must be a parent for this tag.");
        }

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

            final AbstractHtml[] childrenOfParent = parent.children
                    .toArray(new AbstractHtml[parent.children.size()]);

            for (int i = 0; i < childrenOfParent.length; i++) {

                if (equals(childrenOfParent[i])) {

                    if (i < (childrenOfParent.length - 1)) {

                        return childrenOfParent[i + 1]
                                .insertBefore(childrenOfParent, abstractHtmls);

                    } else {
                        parent.appendChildrenLockless(abstractHtmls);
                    }

                    result = true;
                }

            }

        } finally {
            lock.unlock();
        }
        final PushQueue pushQueue = sharedObject.getPushQueue(ACCESS_OBJECT);
        if (pushQueue != null) {
            pushQueue.push();
        }
        return result;
    }
public boolean insertAfter(final AbstractHtml... abstractHtmls) {

        if (parent == null) {
            throw new NoParentException("There must be a parent for this tag.");
        }

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

            final AbstractHtml[] childrenOfParent = parent.children
                    .toArray(new AbstractHtml[parent.children.size()]);

            for (int i = 0; i < childrenOfParent.length; i++) {

                if (equals(childrenOfParent[i])) {

                    if (i < (childrenOfParent.length - 1)) {

                        return childrenOfParent[i + 1]
                                .insertBefore(childrenOfParent, abstractHtmls);

                    } else {
                        parent.appendChildrenLockless(abstractHtmls);
                    }

                    result = true;
                }

            }

        } finally {
            lock.unlock();
        }
        final PushQueue pushQueue = sharedObject.getPushQueue(ACCESS_OBJECT);
        if (pushQueue != null) {
            pushQueue.push();
        }
        return result;
    }
public boolean insertAfter ( final AbstractHtml ... abstractHtmls ) { if ( parent == null ) { throw new NoParentException ( "There must be a parent for this tag." ) ; } final Lock lock = sharedObject . getLock ( ACCESS_OBJECT ) . writeLock ( ) ; boolean result = false ; try { lock . lock ( ) ; final AbstractHtml [ ] childrenOfParent = parent . children . toArray ( new AbstractHtml [ parent . children . size ( ) ] ) ; for ( int i = 0 ; i < childrenOfParent . length ; i ++ ) { if ( equals ( childrenOfParent [ i ] ) ) { if ( i < ( childrenOfParent . length - 1 ) ) { return childrenOfParent [ i + 1 ] . insertBefore ( childrenOfParent , abstractHtmls ) ; } else { parent . appendChildrenLockless ( abstractHtmls ) ; } result = true ; } } } finally { lock . unlock ( ) ; } final PushQueue pushQueue = sharedObject . getPushQueue ( ACCESS_OBJECT ) ; if ( pushQueue != null ) { pushQueue . push ( ) ; } return result ; }
Inserts the given tags after this tag. There must be a parent for this
method tag. <br>
Note : This {@code insertAfter} method might be bit slower (in terms of
nano optimization) than {@code insertBefore} method as it internally uses
{@code insertBefore} method. This will be improved in the future version.

@param abstractHtmls
to insert after this tag
@return true if inserted otherwise false.
@since 2.1.6
@author WFF
Inserts the given tags after this tag . There must be a parent for this method tag . <br > Note : This { @code insertAfter } method might be bit slower ( in terms of nano optimization ) than { @code insertBefore } method as it internally uses { @code insertBefore } method . This will be improved in the future version .