boolean (JvmClass cls) { for (String st : cls.getSuperTypes()) { Iterator<JvmClass> classes = getClassesByName(st).iterator(); if (!classes.hasNext()) { // the supertype is not present in the graph (not compiled yet?), assuming this is a library class return true; } while (classes.hasNext()) { if (inheritsFromLibraryClass(classes.next())) { return true; } } } return false; }