@Override public void onSuccess(I value) {
      synchronized (callback) {
        append(value, result);
        if (remaining.decrementAndGet() > 0) return;
        Throwable error = firstError.get();
        if (error != null) {
          callback.onError(error);
        } else {
          callback.onSuccess(finish(result));
        }
      }
    }
Customizes the aggregated result. For example, summarizing or making immutable.
zipkin/src/main/java/zipkin2/internal/AggregateCall.java