code: protected void reuseIterator(Session session, int newPosition) throws RepositoryException
     {
        if (!(canReuseIterator() && iterator != null && iterator.getPosition() == newPosition))
        {
           iterator = createIterator(session);
           iterator.skip(newPosition);
        }
     }
docs: Check if possible to reuse current iterator (which means possibility to fetch next nodes in row).
  Otherwise the new one will be created.