private boolean iterateChildren(Iterator iterator){
  if (skipSiblings) {
    skipSiblings=false;
    subIterator=Collections.emptyIterator();
  }
  if ((!subIterator.hasNext()) && iterator.hasNext()) {
    XMPNode child=(XMPNode)iterator.next();
    index++;
    subIterator=new NodeIterator(child,path,index);
  }
  if (subIterator.hasNext()) {
    returnProperty=(XMPPropertyInfo)subIterator.next();
    return true;
  }
 else {
    return false;
  }
}

private boolean iterateChildren ( Iterator iterator ) { if ( skipSiblings ) { skipSiblings = false ; subIterator = Collections . emptyIterator ( ) ; } if ( ( ! subIterator . hasNext ( ) ) && iterator . hasNext ( ) ) { XMPNode child = ( XMPNode ) iterator . next ( ) ; index ++ ; subIterator = new NodeIterator ( child , path , index ) ; } if ( subIterator . hasNext ( ) ) { returnProperty = ( XMPPropertyInfo ) subIterator . next ( ) ; return true ; } else { return false ; } }
handles the iteration of the children or qualfier
