public void Initialize(CoordinatorCreateOptions options)
        {
            System.Net.ServicePointManager.Expect100Continue = false;
            System.Net.ServicePointManager.DefaultConnectionLimit = options.MaxWorkerCount;

            this.proxySource = new ProxyFileSource(new DefaultProxyFactory());
            var proxyWorkerFactory = (IProxyWorkerFactory)Activator.CreateInstance(options.ProxyWorkerFactoryType);
            this.swarmCoordinator = new SwarmCoordinator(proxyWorkerFactory, this.proxySource, options.MaxWorkerCount);
            this.counters = new []
            {
                new IsolatedCounter(CounterChangeInfo.SuccessesKey, this.swarmCoordinator.Status.SuccessCounter),
                new IsolatedCounter(CounterChangeInfo.FailsKey, this.swarmCoordinator.Status.FailCounter),
                new IsolatedCounter(CounterChangeInfo.ConnectionsKey, this.swarmCoordinator.Status.ConnectionCounter),
                new IsolatedCounter(CounterChangeInfo.ProxiesKey, this.swarmCoordinator.Status.ProxyCounter)
            };
        }
        public void Initialize(CoordinatorCreateOptions options)
        {
            System.Net.ServicePointManager.Expect100Continue      = false;
            System.Net.ServicePointManager.DefaultConnectionLimit = options.MaxWorkerCount;

            this.proxySource = new ProxyFileSource(new DefaultProxyFactory());
            var proxyWorkerFactory = (IProxyWorkerFactory)Activator.CreateInstance(options.ProxyWorkerFactoryType);

            this.swarmCoordinator = new SwarmCoordinator(proxyWorkerFactory, this.proxySource, options.MaxWorkerCount);
            this.counters         = new []
            {
                new IsolatedCounter(CounterChangeInfo.SuccessesKey, this.swarmCoordinator.Status.SuccessCounter),
                new IsolatedCounter(CounterChangeInfo.FailsKey, this.swarmCoordinator.Status.FailCounter),
                new IsolatedCounter(CounterChangeInfo.ConnectionsKey, this.swarmCoordinator.Status.ConnectionCounter),
                new IsolatedCounter(CounterChangeInfo.ProxiesKey, this.swarmCoordinator.Status.ProxyCounter)
            };
        }