public void implementNext(AggregateCall call, JavaRel rel, Expression accumulator) {
   OJAggImplementor aggImplementor = implementorTable.get(call.getAggregation());
   aggImplementor.implementNext(this, rel, accumulator, call);
 }
 /** Generates the expression to retrieve the result of this aggregation. */
 public Expression implementResult(AggregateCall call, Expression accumulator) {
   OJAggImplementor aggImplementor = implementorTable.get(call.getAggregation());
   return aggImplementor.implementResult(this, accumulator, call);
 }
 public Expression implementStartAndNext(AggregateCall call, JavaRel rel) {
   OJAggImplementor aggImplementor = implementorTable.get(call.getAggregation());
   return aggImplementor.implementStartAndNext(this, rel, call);
 }