private IConnection CreateConnection(ConnectionFactory connectionFactory)
{
var connectionId = GetConnectionId(connectionFactory);
TryRemoveConnection(connectionId);
s_logger.Value.DebugFormat("RMQMessagingGateway: Creating connection to Rabbit MQ endpoint {0}", connectionFactory.Endpoint);
var connection = connectionFactory.CreateConnection();
connection.ConnectionShutdown += delegate { TryRemoveConnection(connectionId); };
s_connectionPool.Add(connectionId, connection);
return connection;
}