@Override protected void doEnqueue(Callback<O> callback) {
    int length = delegate.size();
    AtomicInteger remaining = new AtomicInteger(length);
    AtomicReference<Throwable> firstError = new AtomicReference<>();
    O result = newOutput();
    for (int i = 0; i < length; i++) {
      Call<I> call = delegate.get(i);
      call.enqueue(new CountdownCallback(call, remaining, firstError, result, callback));
    }
  }
Customizes the aggregated result. For example, summarizing or making immutable.
zipkin/src/main/java/zipkin2/internal/AggregateCall.java