protected void getDependencyClassPath(Set visitedArchives, List entries, Set processedEntries, Archive current) {
RuntimeClasspathEntry[] local = ((ArchiveImpl) current).getDependencyClassPathAtThisLevel();
for (int i = 0; i < local.length; i++) {
RuntimeClasspathEntry entry = local[i];
if (!processedEntries.contains(entry)) {
entries.add(entry);
processedEntries.add(entry);
}
Archive resolved = entry.getReferencedArchive();
if (resolved == null)
ClasspathUtil.processManifest(entry.getAbsolutePath(), entries, processedEntries);
else if (!visitedArchives.contains(resolved)) {
visitedArchives.add(resolved);
getDependencyClassPath(visitedArchives, entries, processedEntries, resolved);
}
}
}