public static List<ICompilationUnit> collectCompilationUnits(IJavaProject project) throws JavaModelException { List<ICompilationUnit> result = new ArrayList<ICompilationUnit>(); IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots(); for (int i = 0; i < roots.length; ++i) { IPackageFragmentRoot root = roots[i]; if (IPackageFragmentRoot.K_SOURCE == root.getKind()) { collectCompilationUnits(result, root); } } return result; }