@Deprecated
    protected final O execute(SessionProtocol protocol, EndpointGroup endpointGroup, HttpMethod method,
                              RequestTarget reqTarget, I req, RequestOptions requestOptions) {

        final HttpRequest httpReq;
        final RpcRequest rpcReq;

        if (req instanceof HttpRequest) {
            httpReq = (HttpRequest) req;
            rpcReq = null;
        } else {
            httpReq = null;
            rpcReq = (RpcRequest) req;
        }

        final DefaultClientRequestContext ctx = new DefaultClientRequestContext(
                protocol, httpReq, method, rpcReq, reqTarget, endpointGroup,
                requestOptions, options(), meterRegistry);

        return initContextAndExecuteWithFallback(unwrap(), ctx, futureConverter, errorResponseFactory, req,
                                                 true);
    }
Executes the specified {@link Request} via the delegate.

@param protocol the {@link SessionProtocol} to use
@param endpointGroup the {@link EndpointGroup} of the {@link Request}
@param method the method of the {@link Request}
@param reqTarget the {@link RequestTarget} of the {@link Request}
@param req the {@link Request}
@param requestOptions the {@link RequestOptions} of the {@link Request}

@deprecated prefer {@link ClientOptions#clientPreprocessors()} to execute requests
core/src/main/java/com/linecorp/armeria/client/UserClient.java