/// <summary> /// Sends a message to the specified destination. /// </summary> /// <param name="m">The message to send.</param> /// <param name="destination">The address of the destination to send the message to.</param> public void Send(TransportMessage m, string destination) { if (destination == Address) { ReceiveMessageLater(m); } else { if (!m.Body.Any(x => x.GetType().Assembly == typeof(TransportMessage).Assembly)) { TpQueue.Enqueue(new SentMessage { Destination = destination, Message = m }); } } var t = m.Clone <TransportMessage>(); t.ReturnAddress = destination; _queueWithPresetupAnswers.Enqueue(new SentMessage { Destination = destination, Message = t }); }