Inheritance: System.EventArgs
 void channel_MessageReceived(object sender, ChannelMessageEventArgs e)
 {
     if (MessageReceivedOnChannel != null)
     {
         MessageReceivedOnChannel(this, e);
     }
 }
 void InputChannels_MessageReceivedOnChannel(object sender, ChannelMessageEventArgs e)
 {
     OutputChannels[PickOutputChannel(e)].Send(e.Message);
 }
 protected virtual int PickOutputChannel(ChannelMessageEventArgs e)
 {
     mChannelIndex = OutputChannels.Count > 0 ? (mChannelIndex + 1) % OutputChannels.Count : 0;
     return mChannelIndex;
 }
 protected void RaiseMessageReceivedEvent(object sender, ChannelMessageEventArgs e)
 {
     if (MessageReceived != null)
         MessageReceived(sender, e);
 }