if ( rsets.isEmpty( ) ) return null;
	protected IResultSet doExecuteSubQuery( DteResultSet parent, IBaseQueryDefinition query )	{		// Extension Item may used to create the query stack, so we must do		// error handling.		assert query instanceof ISubqueryDefinition;		if ( rsets.isEmpty( ) )			return null;		DteResultSet resultSet;		try		{			ISubqueryDefinition subQuery = (ISubqueryDefinition) query;			String subQueryName = subQuery.getName( );			IResultIterator parentRI = parent.getResultIterator( );			IResultIterator ri = parentRI.getSecondaryIterator( subQueryName,					context.getSharedScope( ) );			assert ri != null;			resultSet = new DteResultSet( parent, subQuery, ri  );			rsets.addFirst( resultSet );			return resultSet;		}		catch ( BirtException e )		{			logger.log( Level.SEVERE, e.getMessage( ), e );			context.addException( e );			return null;		}	}