ArrayList[] groupBoundaryInfos ) throws DataException
List[] groupBoundaryInfos ) throws DataException
	private void populateFiltersInGroupBoundaryInfoSets( Context cx,			ArrayList[] groupBoundaryInfos ) throws DataException	{		for ( int i = 1; i <= this.populator.getQuery( ).getGrouping( ).length; i++ )		{			// The sorts of certain group			List filters = this.populator.getQuery( ).getGrouping( )[i - 1].getFilters( );			if ( filters == null || filters.size( ) == 0 )				continue;			// Return to first record.			this.populator.getResultIterator( ).first( 0 );			if ( FilterUtil.hasMutipassFilters( filters ) )			{				populateGroupBoundaryInfoFilterValues( cx,						groupBoundaryInfos,						i,						filters );			}			else			{				populateGroupBoundaryInfoFilters( cx,						groupBoundaryInfos[i - 1],						filters,						i,						true );			}			groupBoundaryInfos = this.groupProcessor.getGroupCalculationUtil( )					.filterGroupBoundaryInfos( groupBoundaryInfos );			for ( int j = 0; j < filters.size( ); j++ )			{				IFilterDefinition fd = (IFilterDefinition) filters.get( j );				if ( FilterUtil.isFilterNeedMultiPass( fd ) )				{					fd.getExpression( ).setHandle( null );					// this.prepareFilterExpression( fd.getExpression() );				}			}		}	}