protected TReliableChannel GetChannel(WsrmMessageInfo info, out UniqueId id) { id = WsrmUtilities.GetInputId(info); lock (base.ThisLock) { TReliableChannel local = default(TReliableChannel); if (((id == null) || !this.channelsByInput.TryGetValue(id, out local)) && this.Duplex) { UniqueId outputId = WsrmUtilities.GetOutputId(base.ReliableMessagingVersion, info); if (outputId != null) { id = outputId; this.channelsByOutput.TryGetValue(id, out local); } } return(local); } }