case MAX:
return new MaxAggregator();
case MIN:
return new MinAggregator();
case AVG:
return new AvgAggregator();
case SUM:
return new SumAggregator();
default:
throw new IllegalArgumentException("Unsupported aggregation aggregation type : " + this.type);
}