protected void recursivelyCollectRequiredProvided(ZipMetadata meta, Map<String, GraphableClz> provided) {
try {
ZipEntry entry;
Enumeration<?> e = meta.getZipFile().entries();
while (e.hasMoreElements()) {
entry = (ZipEntry) e.nextElement();
if (StringUtils.endsWith(entry.getName(), ".class")) {
String className = extractClassName(entry.getName());
Set<String> required = extractImports(meta.getZipFile(), entry);
ApplicationClz cg = new ApplicationClz(meta, className, required);
provided.put(className, cg);
}
}
}
catch (Exception e) {
LOG.error("Exception getting JDK version.", e);
}
for(ArchiveMetadata child : meta.getNestedArchives()) {
ZipMetadata cast = (ZipMetadata) child;
this.recursivelyCollectRequiredProvided(cast, provided);
}
}