@Override protected RpcResponse doExecute(ClientRequestContext ctx, RpcRequest req) throws Exception { final CompletableFuture<RpcResponse> future = new CompletableFuture<>(); final RpcResponse res = RpcResponse.from(future); doExecute0(ctx, req, res, future); return res; }