/// <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
            });
        }