public RabbitMqSubscriptionSettings UseRoutingKey(string routingKey, bool updateQueueNameIfNecessary)
        {
            RoutingKey = routingKey ?? string.Empty;

            if (updateQueueNameIfNecessary
                && !string.IsNullOrWhiteSpace(RoutingKey)
                && !string.IsNullOrWhiteSpace(QueueName)
                && !QueueName.EndsWith(RoutingKey))
                QueueName = $"{QueueName}.{RoutingKey}";

            return this;
        }