if ( rowId == -1 ) { rset.next( ); }
	protected IResultSet openQuery( IResultSet rset, IContent content )	{		Object generateBy = content.getGenerateBy( );		// open the query associated with the current report item		if ( generateBy instanceof ReportItemDesign )		{			ReportItemDesign design = (ReportItemDesign) generateBy;			IBaseQueryDefinition query = design.getQuery( );			if ( query != null )			{				InstanceID iid = content.getInstanceID( );				if ( iid != null )				{					// To the current report item,					// if the dataId exist and it's deteSet id is not null,					// and we can find it has parent,					// we'll try to skip to the current row of the parent					// query.					DataID dataId = iid.getDataID( );					if ( dataId != null )					{						DataSetID dataSetId = dataId.getDataSetID( );						if ( dataSetId != null )						{							DataSetID parentSetId = dataSetId.getParentID( );							long parentRowId = dataSetId.getRowID( );							if ( parentSetId != null && parentRowId != -1 )							{								// the parent exist.								if ( rset != null )								{									// the parent query's result set is									// not null, skip to the right row									// according row id.									if ( parentRowId != rset											.getCurrentPosition( ) )									{										rset.skipTo( parentRowId );									}								}							}						}					}				}				// execute query				try				{					rset = context.executeQuery( rset, query );				}				catch ( BirtException ex )				{					context.addException( ex );				}			}		}		// locate the row position to the current position		InstanceID iid = content.getInstanceID( );		if ( iid != null )		{			DataID dataId = iid.getDataID( );			while ( dataId == null && iid.getParentID( ) != null )			{				iid = iid.getParentID( );				dataId = iid.getDataID( );			}			if ( dataId != null )			{				if ( rset != null )				{					long rowId = dataId.getRowID( );					if ( rowId != -1 && rowId != rset.getCurrentPosition( ) )					{						rset.skipTo( rowId );					}				}			}		}		return rset;	}