private void load() { classCorr = getClassCorrespondence(); addedClasses.addAll(classCorr.getAddedClasses()); for (IClass cls : classCorr.getAddedClasses()) { addedMethods.addAll(cls.getDeclaredMethods()); for (IMethod method : cls.getDeclaredMethods()) { addToMethodMap(method); } } deletedClasses.addAll(classCorr.getDeletedClasses()); for (IClass cls : classCorr.getDeletedClasses()) { for (IMethod method : cls.getDeclaredMethods()) { addToMethodMap(method); } } Collection<Pair<IClass>> matchedClasses = classCorr.getMatchedClassPairs(); for (Pair<IClass> matchedCls : matchedClasses) { boolean isClsMod = false; MethodCorrespondence methodCorr = new MethodCorrespondence(matchedCls.getFirst(), matchedCls.getSecond()); for (IMethod method : methodCorr.getAddedMethods()) { addedMethods.add(method); addToMethodMap(method); isClsMod = true; } for (IMethod method : methodCorr.getDeletedMethods()) { deletedMethods.add(method); addToMethodMap(method); isClsMod = true; } Collection<Pair<IMethod>> matchedMethods = methodCorr.getMatchedMethodPairs(); for (Pair<IMethod> matchedMeth : matchedMethods) { IMethod method1 = matchedMeth.getFirst(); IMethod method2 = matchedMeth.getSecond(); CFGNodeCorrespondence nodeCorr = new CFGNodeCorrespondence(method1, method2); if (nodeCorr.isMethodModified()) { modifiedMethods.add(matchedMeth); isClsMod = true; } addToMethodMap(nodeCorr.getMethodOneInfo()); addToMethodMap(nodeCorr.getMethodTwoInfo()); } if (isClsMod) { modifiedClasses.add(matchedCls); } else { unmodifiedClasses.add(matchedCls); } } }