public async Task <IServiceChannelDispatcher> CreateServiceChannelDispatcherAsync(IChannel outerChannel)
        {
            //TODO should have better logic
            //Initialization path start
            if (outerChannel.ChannelDispatcher == null)
            {
                TypedChannelDemuxer       typedChannelDemuxer = ChannelBuilder.GetTypedChannelDemuxer <IReplyChannel>();
                IServiceChannelDispatcher channelDispatcher   = await typedChannelDemuxer.CreateServiceChannelDispatcherAsync(outerChannel);

                return(channelDispatcher);
            }
            //initialization end
            //Below dispatches all SCT call for first time for all clients
            else
            {
                IServiceChannelDispatcher securityReplyChannelDispatcher = await GetInnerChannelDispatcherAsync(outerChannel);

                return(securityReplyChannelDispatcher);
            }
        }