Too Long; Didn't Read
Our implementation will be straightforward; we will store requests and responses in Queues, and then put this data to MDC. There are default implementations such as SimpleForwardingClientCall and SimpleForwardingClientCallListener in which all methods are implemented. If we look at their implementation, we can see that they invoke a next implementation ClientCall or ClientCall.Listener.