bool searchForImages(List<Scraper> lScrapers, ScraperResultsCache resultsCache, ThumbSearchType searchType, ScraperGame scraperGame)
        {
            foreach (Scraper scraper in lScrapers)
            {
                ScraperResult result = resultsCache.GetResult(scraper);
                if (!doWork())
                    return false;
                if (result == null)
                    continue;

                if (searchType == ThumbSearchType.Fanart)
                {
                    if (scraper.PopulateFanart(result, scraperGame))
                        break;
                }
                else if (searchType == ThumbSearchType.Covers)
                {
                    if (scraper.PopulateCovers(result, scraperGame))
                        break;
                }
                else if (searchType == ThumbSearchType.Screens)
                {
                    if (scraper.PopulateScreens(result, scraperGame))
                        break;
                }
            }
            return true;
        }
        public ScraperGame DownloadInfo(ScraperResult result)
        {
            Scraper defaultScraper = result.DataProvider;
            ScraperGame scraperGame = defaultScraper.GetDetails(result);
            if (scraperGame == null || !doWork())
                return null;

            Scraper coversScraper, screensScraper, fanartScraper;
            lock (scraperSync)
            {
                coversScraper = this.coversScraper;
                screensScraper = this.screensScraper;
                fanartScraper = this.fanartScraper;
            }

            ScraperResultsCache resultsCache = new ScraperResultsCache(result.Title, result.SearchParams);
            resultsCache.Add(defaultScraper, result);

            List<Scraper> searchScrapers = getSearchScrapers(coversScraper, defaultScraper);
            if (!searchForImages(searchScrapers, resultsCache, ThumbSearchType.Covers, scraperGame))
                return null; //doWork is false

            searchScrapers = getSearchScrapers(screensScraper, defaultScraper);
            if (!searchForImages(searchScrapers, resultsCache, ThumbSearchType.Screens, scraperGame))
                return null;

            searchScrapers = getSearchScrapers(fanartScraper, defaultScraper);
            searchForImages(searchScrapers, resultsCache, ThumbSearchType.Fanart, scraperGame);

            return scraperGame;
        }