public IConnection GetConnection()
        {
            if (connection != null)
            {
                return(connection);
            }

            var factory = new ConnectionFactory
            {
                HostName = rabbitConfigurationProvider.GetHostName(),
                UserName = rabbitConfigurationProvider.GetUserName(),
                Password = rabbitConfigurationProvider.GetPassword()
            };

            connection?.Dispose();
            connection = factory.CreateConnection();

            return(connection);
        }