public Collection<HttpProxyConfig> load() throws Exception {
Processor<HttpRequest> processor = new GeneralProcessor<>(workers);
List<ProxySourceSite> sites = new ArrayList<>();
for (Class<? extends ProxySourceSite> clazz : loaderClasses) {
final Constructor<? extends ProxySourceSite> constructor = clazz.getConstructor(Processor.class);
final ProxySourceSite site = constructor.newInstance(processor);
sites.add(site);
site.init();
}
processor.shutdown();
Set<HttpProxyConfig> result = new HashSet<>();
for (ProxySourceSite site : sites) {
result.addAll(site.load());
}
return result;
}