if ( GroupUtil.isRowIdColumn( keyIndex, keyColumn ) ) { groupDefs[i] = GroupBy.newInstanceForRowID( groupSpecs[i] );
if (resultPopoulator.getEventHandler() != null && resultPopoulator.getEventHandler().isRowID(keyIndex, keyColumn)) { groupDefs[i] = GroupBy.newInstanceForRowID(groupSpecs[i]);
	public void initGroupSpec( ) throws DataException	{		// Set up the GroupDefs structure		IQuery.GroupSpec[] groupSpecs = query.getGrouping( );		if ( groupSpecs != null )		{			groupDefs = new GroupBy[groupSpecs.length];			for ( int i = 0; i < groupSpecs.length; ++i )			{				int keyIndex = groupSpecs[i].getKeyIndex( );				String keyColumn = groupSpecs[i].getKeyColumn( );				if ( GroupUtil.isRowIdColumn( keyIndex, keyColumn ) )				{					groupDefs[i] = GroupBy.newInstanceForRowID( groupSpecs[i] );					continue;				}				// Convert group key name to index for faster future access				// assume priority of keyColumn is higher than keyIndex				if ( keyColumn != null )					keyIndex = rsMeta.getFieldIndex( keyColumn );				if ( keyIndex < 1 || keyIndex > rsMeta.getFieldCount( ) )				{					// Invalid group key name					throw new DataException( ResourceConstants.INVALID_GROUP_KEY_COLUMN,							keyColumn );				}				groupDefs[i] = GroupBy.newInstance( groupSpecs[i],						keyIndex,						rsMeta.getFieldValueClass( keyIndex ) );			}		}		else		{			groupDefs = new GroupBy[0];		}	}