@Override
        public RelNode visit(AggregateQueryOperation aggregate) {
            List<AggCall> aggregations = aggregate.getAggregateExpressions()
                    .stream()
                    .map(this::getAggCall)
                    .collect(toList());

            List<RexNode> groupings = convertToRexNodes(aggregate.getGroupingExpressions());
            GroupKey groupKey = relBuilder.groupKey(groupings);
            return relBuilder.aggregate(groupKey, aggregations).build();
        }
Converter from Flink's specific relational representation: {@link QueryOperation} to Calcite's specific relational
representation: {@link RelNode}.
core/src/main/java/org/apache/flink/table/planner/plan/QueryOperationConverter.java