static HttpResponse delayed(Supplier<? extends HttpResponse> responseSupplier, Duration delay) {
        requireNonNull(responseSupplier, "responseSupplier");
        requireNonNull(delay, "delay");
        final EventLoop executor = RequestContext.mapCurrent(RequestContext::eventLoop,
                                                             CommonPools.workerGroup()::next);
        assert executor != null;
        return delayed(responseSupplier, delay, executor);
    }
Invokes the specified {@link Supplier} and creates a new HTTP response that
delegates to the provided {@link HttpResponse} by {@link Supplier}.

<p>The {@link Supplier} is invoked from the current thread-local {@link RequestContext}'s event loop.
If there's no thread local {@link RequestContext} is set, one of the threads
from {@code CommonPools.workerGroup().next()} will be used.
core/src/main/java/com/linecorp/armeria/common/HttpResponse.java