default CompletableFuture<AggregatedHttpResponse> aggregate(EventExecutor executor) {
        requireNonNull(executor, "executor");
        return aggregate(AggregationOptions.builder()
                                           .executor(executor)
                                           .cacheResult(true)
                                           .build());
    }
Aggregates this response. The returned {@link CompletableFuture} will be notified when the content and
the trailers of the response are received fully.

<p>The {@link AggregatedHttpResponse} is cached by default. So it is allowed to repeatedly call this
method and get the cached value after the first aggregation.
<pre>{@code
HttpResponse response = ...;
AggregatedHttpResponse aggregated0 = response.aggregate(executor).join();
AggregatedHttpResponse aggregated1 = response.aggregate(executor).join();
assert aggregated0 == aggregated1;
}</pre>
core/src/main/java/com/linecorp/armeria/common/HttpResponse.java