internal static async Task <IDictionary <string, string> > CrawlAsync(string uri, int nestedLevel, bool isNeedUploadOtherDomens, IWebLoader loader, IFileSystemWrapper fileSystem, IHtmlParserFactory parserFactory, int parallelDownloadFactor = 10) { if (nestedLevel <= 0) { throw new ArgumentOutOfRangeException("Параметр nestedLevel должен быть больше нуля"); } var crawler = new Crawler(loader, fileSystem, parserFactory, uri, isNeedUploadOtherDomens, parallelDownloadFactor); await crawler.CrawlItAsync(uri, "index.html", nestedLevel); return(crawler.map); }