Map topLevelDeps = new HashMap(); //
for (int i = 0; i < dependencies.length; i++) {
if (!dependencies[i].hasProblem()) {
DependencyDescriptor dd = dependencies[i].getDependencyDescriptor(root);
if (dd != null) {
ModuleId orgMod = dependencies[i].getModuleId();
topLevelDeps.put(orgMod, dependencies[i]);
}
}
}
for (int i = 0; i < dependencies.length; i++) {
if (!dependencies[i].hasProblem() && !dependencies[i].isCompletelyEvicted()) {
DependencyDescriptor dd = dependencies[i].getDependencyDescriptor(root);
if (dd == null) {
ModuleId mid = dependencies[i].getModuleId();
IvyNode tlDep = (IvyNode) topLevelDeps.get(mid);
if (tlDep != null) {
dd = tlDep.getDependencyDescriptor(root);
}
}