public void CreateReceiveEndpoint(string queueName, Action <IActiveMqReceiveEndpointConfigurator> configure)
        {
            if (!_configuration.TryGetHost(_host, out var hostConfiguration))
            {
                throw new ConfigurationException("The host was not properly configured");
            }

            var configuration = hostConfiguration.CreateReceiveEndpointConfiguration(queueName);

            configure?.Invoke(configuration.Configurator);

            BusConfigurationResult.CompileResults(configuration.Validate());

            configuration.Build();
        }
        ISendTransport GetSendTransport(Uri address)
        {
            if (!_busConfiguration.TryGetHost(address, out var hostConfiguration))
            {
                throw new EndpointNotFoundException($"The host was not found for the specified address: {address}");
            }

            var host = hostConfiguration.Host;

            var settings = host.Topology.SendTopology.GetSendSettings(address);

            IAgent <SessionContext> sessionAgent = GetSessionAgent(host);

            var configureTopologyFilter = new ConfigureTopologyFilter <SendSettings>(settings, settings.GetBrokerTopology());

            var transport = new ActiveMqSendTransport(sessionAgent, configureTopologyFilter, settings.EntityName, DestinationType.Queue);

            transport.Add(sessionAgent);

            host.Add(transport);

            return(transport);
        }