/// <summary>
 /// Constructor to create a <see cref="RelayMessageWithContext"/>
 /// </summary>
 /// <param name="relayMessage">The <see cref="RelayMessage"/> that needs to be processed</param>
 /// <param name="processingContext">The <see cref="RelayMessageProcessingContext"/> associated to the <see cref="RelayMessage"/></param>
 /// <exception cref="ArgumentNullException">All arguments for this constructor must be non-null</exception>
 public RelayMessageWithContext(RelayMessage relayMessage, RelayMessageProcessingContext processingContext)
 {
     if (relayMessage == null || processingContext == null)
     {
         throw new ArgumentNullException("RelayMessageWithContext consturctor requires non-null arguments");
     }
     this.relayMessage      = relayMessage;
     this.processingContext = processingContext;
 }
 /// <summary>
 /// Constructor to create a <see cref="RelayMessageWithContext"/>
 /// </summary>
 /// <param name="relayMessage">The <see cref="RelayMessage"/> that needs to be processed</param>
 /// <param name="processingContext">The <see cref="RelayMessageProcessingContext"/> associated to the <see cref="RelayMessage"/></param>
 /// <exception cref="ArgumentNullException">All arguments for this constructor must be non-null</exception>
 public RelayMessageWithContext(RelayMessage relayMessage, RelayMessageProcessingContext processingContext)
 {
     if (relayMessage == null || processingContext == null)
     {
         throw new ArgumentNullException("RelayMessageWithContext consturctor requires non-null arguments");
     }
     this.relayMessage = relayMessage;
     this.processingContext = processingContext;
 }