public void Dispatch(object o, EventArgs a)
            {
                IMessage          responseMsg;
                ITransportHeaders responseHeaders = null;
                Stream            responseStream  = null;

                try {
                    nextSink.ProcessMessage(sinkStack,
                                            requestMsg,
                                            requestHeaders,
                                            requestStream,
                                            out responseMsg,
                                            out responseHeaders,
                                            out responseStream);
                }
                catch (Exception ex) {
                    responseMsg = new ReturnMessage(ex, (IMethodCallMessage)requestMsg);
                }

                sinkStack.AsyncProcessResponse(responseMsg, responseHeaders, responseStream);
            }