public void Build(RequestSenderSchema schema) 
        {
            Contract.Requires(schema != null);

            MessagePipelineBuilder.Build()
                .WithBusSendDirectTo(new MessageFilter(schema.FilterStrategy))
                .ToConverter(new MessagePayloadPackager(serialser))
                .ToProcessor(new Addressing.MessageAddresser(schema.FromAddress, schema.ToAddress))
                .ToEndPoint(requestSender);
        }
        public DirectRequestReplySenderConfiguration(
            MessagingConfiguration messagingConfiguration, 
            EndpointAddress address, 
            EndpointAddress toAddress) 
            : base(messagingConfiguration) 
        {
            Contract.Requires(messagingConfiguration != null);
            Contract.Requires(address != null);
            Contract.Requires(toAddress != null);

            sendSchema = new RequestSenderSchema
            {
                FromAddress = address,
                ToAddress = toAddress,
                FilterStrategy = new PassThroughMessageFilterStategy()
            };

            receiveSchema = new ReplyReceiverSchema
            {
                Address = address
            };
        }