code: protected void fetchNext()
     {
        // reset
        next = null;
        while (next == null && scoreNodes.hasNext())
        {
           ScoreNode[] sn = scoreNodes.nextScoreNodes();
           try
           {
              next = (NodeImpl)itemMgr.getItemByIdentifier(sn[selectorIndex].getNodeId(), true);
              if (next == null)
              {
                 invalid++;
              }
           }
           catch (RepositoryException e)
           {
              log.warn("Exception retrieving Node with UUID: " + sn[selectorIndex].getNodeId() + ": " + e.toString());
              // try next
              invalid++;
           }
        }
     }
docs: Clears {@link #next} and tries to fetch the next Node instance.
  When this method returns {@link #next} refers to the next available
  node instance in this iterator. If {@link #next} is null when this
  method returns, then there are no more valid element in this iterator.