public void Publish(Guid id, object message)
        {
            if (message == null) throw new ArgumentNullException("message");

            var context =
                new SendContext().
                    SetMessage(message).
                    SetMessageId(id);

            foreach (var subscription in Configuration.Subscriptions.Where(_ => _.Message == message.GetType()))
            {
                Publish(context, subscription.QueueName);
            }
        }
        public void Send(Guid id, object message)
        {
            if (message == null)
                throw new ArgumentNullException("message");

            var context = new SendContext().
                SetFrom(ReceiveContext.To).
                SetTo(GetMessageAddress(message.GetType())).
                SetCorrelationId(ReceiveContext.CorrelationId).
                SetMessageId(id).
                SetRelatesToMessageId(ReceiveContext.MessageId).
                SetMessage(message);

            InnerSender.Send(context);
        }