internal void Configure(RabbitMqTransport transport)
        {
            transport.AddClientProperties(_additionalClientProperties);

            if (SslSettings != null)
            {
                transport.SetSslSettings(SslSettings);
            }

            if (DeclareExchanges.HasValue)
            {
                transport.SetDeclareExchanges(DeclareExchanges.Value);
            }

            if (DeclareInputQueue.HasValue)
            {
                transport.SetDeclareInputQueue(DeclareInputQueue.Value);
            }

            if (BindInputQueue.HasValue)
            {
                transport.SetBindInputQueue(BindInputQueue.Value);
            }

            if (DirectExchangeName != null)
            {
                transport.SetDirectExchangeName(DirectExchangeName);
            }

            if (TopicExchangeName != null)
            {
                transport.SetTopicExchangeName(TopicExchangeName);
            }

            if (MaxNumberOfMessagesToPrefetch != null)
            {
                transport.SetMaxMessagesToPrefetch(MaxNumberOfMessagesToPrefetch.Value);
            }

            if (CallbackOptionsBuilder != null)
            {
                transport.SetCallbackOptions(CallbackOptionsBuilder);
            }

            if (PublisherConfirmsEnabled.HasValue)
            {
                transport.EnablePublisherConfirms(PublisherConfirmsEnabled.Value);
            }

            transport.SetInputQueueOptions(InputQueueOptionsBuilder);
            transport.SetDefaultQueueOptions(DefaultQueueOptionsBuilder);
            transport.SetExchangeOptions(ExchangeOptions);
            transport.SetMaxPollingTimeout(MaxPollingTimeout);
            transport.SetMaxWriterPoolSize(MaxWriterPoolSize);
        }