public DefaultSubscriptionClientManager(IOptions <ServiceBusOptions> options,
                                                ISubscriptionClientFactory subscriptionClientFactory,
                                                ITopicMessageReceiver messageReceiver,
                                                IServiceBusManagementClient managementClient)
        {
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }
            if (subscriptionClientFactory == null)
            {
                throw new ArgumentNullException(nameof(subscriptionClientFactory));
            }
            if (messageReceiver == null)
            {
                throw new ArgumentNullException(nameof(messageReceiver));
            }
            if (managementClient == null)
            {
                throw new ArgumentNullException(nameof(managementClient));
            }

            _options = options;
            _subscriptionClientFactory = subscriptionClientFactory;
            _messageReceiver           = messageReceiver;
            _managementClient          = managementClient;
            _clients = new List <ISubscriptionClient>();
        }