if ( useDetails == false && hasNext ) { savedStartingGroupLevel = odiResult.getStartingGroupLevel( ); odiResult.last( lowestGroupLevel ); }  logger.logp( Level.FINE, ResultIterator.class.getName( ), "next", "Moves down to the next element" );
if ( hasNext ) this.prepareCurrentRow( );
	public boolean next( ) throws BirtException	{		checkStarted( );		boolean hasNext = false;				if ( state == BEFORE_FIRST_ROW )		{			state = ON_ROW;			hasNext = odiResult.getCurrentResult( ) != null;		}		else		{			hasNext = odiResult.next( );		}				if ( useDetails == false && hasNext )		{			savedStartingGroupLevel = odiResult.getStartingGroupLevel( );			odiResult.last( lowestGroupLevel );		}		logger.logp( Level.FINE,				ResultIterator.class.getName( ),				"next",				"Moves down to the next element" );				if ( ! hasNext )			state = AFTER_LAST_ROW;				return hasNext;	}