public ServiceEndpointManager(
     IAccessKeySynchronizer synchronizer,
     ServiceOptions options,
     ILoggerFactory loggerFactory) :
     base(
         options,
         loggerFactory?.CreateLogger <ServiceEndpointManager>()
         )
 {
     _options      = options;
     _synchronizer = synchronizer;
 }
        public ServiceEndpointManager(
            IAccessKeySynchronizer synchronizer,
            IOptionsMonitor <ServiceOptions> optionsMonitor,
            ILoggerFactory loggerFactory
            ) :
            base(optionsMonitor.CurrentValue, loggerFactory.CreateLogger <ServiceEndpointManager>())
        {
            _options      = optionsMonitor.CurrentValue;
            _logger       = loggerFactory?.CreateLogger <ServiceEndpointManager>() ?? throw new ArgumentNullException(nameof(loggerFactory));
            _synchronizer = synchronizer;

            optionsMonitor.OnChange(OnChange);
            _scaleTimeout = _options.ServiceScaleTimeout;
        }