public void BindMessagingChannel(IMessagingChannel channel) { Contract.Requires(channel != null); Contract.Assert(this.messagingChannel == null); this.messagingChannel = channel; var closedCause = Volatile.Read(ref this.closedCause); if (closedCause != null) { channel.Close(closedCause); } foreach (var source in this.sources) { source.BindMessagingChannel(channel); } }