code: public synchronized Object next() throws NoSuchElementException
      {
          try
          {
              if (!isHasCalledCheck())
              {
                  hasNext();
              }
              setHasCalledCheck(false);
              if (getHasNext())
              {
                  Object obj = getObjectFromResultSet();
                  m_current_row++;
  
                  // Invoke events on PersistenceBrokerAware instances and listeners
                  // set target object
                  if (!disableLifeCycleEvents)
                  {
                      getAfterLookupEvent().setTarget(obj);
                      getBroker().fireBrokerEvent(getAfterLookupEvent());
                      getAfterLookupEvent().setTarget(null);
                  }    
                  return obj;
              }
              else
              {
                  throw new NoSuchElementException("inner hasNext was false");
              }
          }
          catch (ResourceClosedException ex)
          {
              autoReleaseDbResources();
              throw ex;
          }
          catch (NoSuchElementException ex)
          {
              autoReleaseDbResources();
              logger.error("Error while iterate ResultSet for query " + m_queryObject, ex);
              throw new NoSuchElementException("Could not obtain next object: " + ex.getMessage());
          }
      }
docs: moves to the next row of the underlying ResultSet and returns the
  corresponding Object materialized from this row.