else if( aggregationName.equals( "SUM" ) )
aggregates.add( new SumBy( current, groupFields, argFields, aggResultFields ) );
else if( aggregationName.equals( "MIN" ) )
aggregates.add( new MinBy( current, groupFields, argFields, aggResultFields ) );
else if( aggregationName.equals( "MAX" ) )
aggregates.add( new MaxBy( current, groupFields, argFields, aggResultFields ) );
else if( aggregationName.equals( "AVG" ) )
aggregates.add( new AverageBy( current, groupFields, argFields, aggResultFields, AverageBy.Include.NO_NULLS ) );
else
throw new UnsupportedOperationException( "unimplemented aggregation: " + aggregationName );
}