rsets.addFirst( resultSet );
	protected IResultSet doExecuteQuery( DteResultSet parentResult,			IQueryDefinition query )	{		String queryID = (String) queryIDMap.get( query );		try		{			IQueryResults parentQueryResults = null;			if ( parentResult != null )			{				parentQueryResults = parentResult.getQueryResults( );			}			String resultSetID = null;			if ( parentQueryResults == null )			{				resultSetID = getResultID( null, -1, queryID );			}			else			{				String pRsetId = parentResult.getBaseRSetID( );				long rowid = parentResult.getRawID( );				resultSetID = getResultID( pRsetId, rowid, queryID );			}						if ( resultSetID == null )			{				logger.log( Level.SEVERE, "Can't load the report query" );				return null;			}			//((QueryDefinition)query).setDataSetName( null );			((QueryDefinition)query).setQueryResultsID( resultSetID );			IPreparedQuery pQuery = dteEngine.prepare( query );						Scriptable scope = context.getSharedScope( );			String pRsetId = null; // id of the parent query restuls			long rowId = -1; // row id of the parent query results			IQueryResults dteResults; // the dteResults of this query			DteResultSet resultSet = null;						if ( parentQueryResults == null )			{				// this is the root query				dteResults = pQuery.execute( scope );				resultSet = new DteResultSet( this, context, dteResults );			}			else			{				pRsetId = parentResult.getQueryResults( ).getID( );				rowId = parentResult.getRawID( );								// this is the nest query, execute the query in the				// parent results				dteResults = pQuery.execute( parentQueryResults, scope );				resultSet = new DteResultSet( parentResult, dteResults );			}			resultSet.setBaseRSetID( resultSetID );					rsets.addFirst( resultSet );			//			 save the			storeDteMetaInfo( pRsetId, rowId, queryID, dteResults.getID( ) );						return resultSet;		}		catch ( BirtException be )		{			logger.log( Level.SEVERE, be.getMessage( ) );			context.addException( be );			return null;		}	}