question: protected void processChildren ( QueryNode queryTree ) throws QueryNodeException { List < QueryNode > children = queryTree . getChildren ( ) ; ChildrenList newChildren ; if ( children != null && children . size ( ) > 0 ) { newChildren = allocateChildrenList ( ) ; try { for ( QueryNode child : children ) { child = processIteration ( child ) ; if ( child == null ) { throw new NullPointerException ( ) ; } newChildren . add ( child ) ; } List < QueryNode > orderedChildrenList = setChildrenOrder ( newChildren ) ; queryTree . set ( orderedChildrenList ) ; } finally { newChildren . beingUsed = false ; } } }
target:  This method is called every time a child is processed.