public void Start(IHandlerPipeline pipeline, ChannelGraph channels) { foreach (var node in channels.IncomingChannelsFor(Protocol)) { var receiver = new Receiver(pipeline, channels, node); ReceiveAt(node, receiver); } var replyNode = new ChannelNode(ReplyChannel.Address); var replyReceiver = new Receiver(pipeline, channels, replyNode); ReceiveAt(replyNode, replyReceiver); channels.Where(x => x.Uri.Scheme == Protocol).Each(x => { x.ReplyUri = ReplyChannel.Address; x.Destination = x.Uri; }); }