public ServiceDiscoveryClusterProvider( [NotNull] IServiceLocator serviceLocator, [NotNull] string environment, [NotNull] string application, [NotNull] ServiceDiscoveryClusterProviderSettings settings, [CanBeNull] ILog log) { this.serviceLocator = serviceLocator ?? throw new ArgumentNullException(nameof(serviceLocator)); this.environment = environment ?? throw new ArgumentNullException(nameof(environment)); this.application = application ?? throw new ArgumentNullException(nameof(application)); this.settings = settings; this.log = log ?? LogProvider.Get(); transform = new CachingTransform <IServiceTopology, Uri[]>(ParseReplicas, preventParallelProcessing: true); }