/// <summary>
 /// Adds a message handler for the given message number.
 /// </summary>
 /// <param name="messageNumber">
 /// The message number.
 /// </param>
 /// <param name="messageHandler">
 /// The message handler.
 /// </param>
 public void AddMessageHandler(int messageNumber, MessageHandler messageHandler)
 {
     lock (this.messageHandlers)
     {
         if (this.messageHandlers.ContainsKey(messageNumber))
         {
             this.messageHandlers[messageNumber] += messageHandler;
         }
         else
         {
             this.messageHandlers.Add(
                 messageNumber, (MessageHandler)messageHandler.Clone());
         }
     }
 }