public ProxyManager(IProxyRepo proxyRepo, IProxyMultiplierRepo proxyMultiplierRepo,
                            ISearchEngineRepo searchEngineRepo, ISearchStringRepo searchStringRepo)
        {
            _proxyRepo           = proxyRepo ?? throw new ArgumentNullException(nameof(proxyRepo));
            _proxyMultiplierRepo = proxyMultiplierRepo ?? throw new ArgumentNullException(nameof(proxyMultiplierRepo));
            _searchEngineRepo    = searchEngineRepo ?? throw new ArgumentNullException(nameof(searchEngineRepo));
            _searchStringRepo    = searchStringRepo ?? throw new ArgumentNullException(nameof(searchStringRepo));

            _proxyStatuses = new Dictionary <Tuple <short, short>, Dictionary <int, ProxyStatus> >();
        }
 public SearchEngineSyncTask(IDataStore dataStore, ISearchEngineRepo searchEngineRepo)
 {
     _dataStore        = dataStore ?? throw new ArgumentNullException(nameof(dataStore));
     _searchEngineRepo = searchEngineRepo ?? throw new ArgumentNullException(nameof(searchEngineRepo));
 }