if (CrawlerUtils.isAcceptedCountry((String)srcData.get("country"), countryInclude, countryExclude) || !"".equals(sourceId)) {
String sourceCrawlMode = CrawlerUtils.getSourceCrawlMode(Integer.parseInt((String)srcData.get("crawl_mode")), reScan, reset, deeper, resetFromCache) ;
// Build the source item according to its type and so its class
ISource src = ConnectorFactory.getSourceInstance(crawlerDB.getSourceClass((String)srcData.get("type")), srcId, sourceCrawlMode, srcData);
if (src!=null && src.isCrawlAllowedBySchedule()) {
logger.log(" Pushing source : " + String.valueOf(src.getId()));
sourceExecutor.submit(new ProcessorSource(src, config, logger, this));
} else {
sourceQueue.unpop(Integer.valueOf(srcId));
logger.log(" Skip source due to schedule : " + String.valueOf(src.getId()));
}
} else {
sourceQueue.unpop(Integer.valueOf(srcId));
logger.log(" Skip source due to country : " + srcId);
}