docs: private static List<Aggregation> computeAggregations(
        final PartialDruidQuery partialQuery,
        final PlannerContext plannerContext,
        final DruidQuerySignature querySignature,
        final RexBuilder rexBuilder,
        final boolean finalizeAggregations
    )
    {
      final Aggregate aggregate = Preconditions.checkNotNull(partialQuery.getAggregate());
      final List<Aggregation> aggregations = new ArrayList<>();
      final String outputNamePrefix = Calcites.findUnusedPrefix(
          "a",
          new TreeSet<>(querySignature.getRowSignature().getRowOrder())
      );
  
      for (int i = 0; i < aggregate.getAggCallList().size(); i++) {
        final String aggName = outputNamePrefix + i;
        final AggregateCall aggCall = aggregate.getAggCallList().get(i);
        final Aggregation aggregation = GroupByRules.translateAggregateCall(
            plannerContext,
            querySignature,
            rexBuilder,
            partialQuery.getSelectProject(),
            aggregations,
            aggName,
            aggCall,
            finalizeAggregations
        );
  
        if (aggregation == null) {
          throw new CannotBuildQueryException(aggregate, aggCall);
        }
  
        aggregations.add(aggregation);
      }
  
      return aggregations;
    }