@Override
    default HttpRequestDuplicator toDuplicator(EventExecutor executor) {
        return toDuplicator(executor, Flags.defaultMaxRequestLength());
    }
(Advanced users only) Aggregates this request. The returned {@link CompletableFuture} will be notified
when the content and the trailers of the request is received fully.
{@link AggregatedHttpRequest#content()} will return a pooled object, and the caller must ensure to
release it. If you don't know what this means, use {@link #aggregate()}.

<p>The pooled {@link AggregatedHttpRequest} is not cached. So it is NOT allowed to access the
{@link AggregatedHttpRequest} from this method after the first aggregation.
<pre>{@code
HttpRequest request = ...;
AggregatedHttpRequest aggregated = request.aggregateWithPooledObjects(executor, alloc).join();
// An `IllegalStateException` will be raised.
request.aggregateWithPooledObjects(executor, alloc).join();
}</pre>

@deprecated Use {@link #aggregate(AggregationOptions)} with
            {@link AggregationOptions#usePooledObjects(ByteBufAllocator)}.
core/src/main/java/com/linecorp/armeria/common/HttpRequest.java