rsetId2queryIdMapping.put( rsetId, queryId );
	private void loadResultSetMetaData( ) throws EngineException	{		DataInputStream dis = null;		try		{			HashMap query2ResultMetaData = report.getResultMetaData( );			IDocArchiveReader reader = reportDocReader.getArchive( );			dis = new DataInputStream( reader					.getStream( ReportDocumentConstants.DATA_META_STREAM ) );			HashMap queryCounts = new HashMap( );			while ( true )			{				// skip the parent restset id				IOUtil.readString( dis );				// skip the row id				IOUtil.readLong( dis );				// this is the query id				String queryId = IOUtil.readString( dis );				// this is the rest id				String rsetId = IOUtil.readString( dis );								IQueryDefinition query = getQuery( queryId );				if ( !isMasterQuery ( query ) )				{					continue;				}								rsetId2queryIdMapping.put( rsetId, queryId );								int count = -1;				Integer countObj = (Integer) queryCounts.get( queryId );				if ( countObj != null )				{					count = countObj.intValue( );				}				count++;				String rsetName = getQueryName( queryId );				if( count > 0)				{					rsetName = rsetName + "_" + count;				}				queryCounts.put( queryId, new Integer( count ) );				rsetName2IdMapping.put( rsetName, rsetId );				if ( null != query2ResultMetaData )				{					ResultMetaData metaData = (ResultMetaData) query2ResultMetaData.get( query );					if ( metaData.getColumnCount( ) > 0 )					{						IResultSetItem resultItem = new ResultSetItem( rsetName,								metaData );						resultMetaList.add( resultItem );					}				}			}		}		catch ( EOFException eofe )		{			// we expect that there should be an EOFexception		}		catch ( IOException ioe )		{			logger.log( Level.SEVERE, ioe.getMessage( ), ioe );		}		finally		{			if ( dis != null )			{				try				{					dis.close( );				}				catch ( IOException ex )				{				}			}		}	}