UMLType superclass = subclassDiff.getSuperclass(); if(superclass != null) { return checkInheritanceRelationship(superclass, finalSuperclass, visitedClasses); UMLClass addedClass = looksLikeAddedClass(subclassDiff.getNewSuperclass()); if(addedClass.getSuperclass() != null) { return checkInheritanceRelationship(addedClass.getSuperclass(), finalSuperclass, visitedClasses); return checkInheritanceRelationship(UMLType.extractTypeObject(addedClass.getName()), finalSuperclass, visitedClasses); if(checkInheritanceRelationship(implementedInterface, finalSuperclass, visitedClasses)) { return true; UMLType superclass = addedClass.getSuperclass(); if(superclass != null) { return checkInheritanceRelationship(superclass, finalSuperclass, visitedClasses); if(checkInheritanceRelationship(implementedInterface, finalSuperclass, visitedClasses)) { return true; UMLType superclass = removedClass.getSuperclass(); if(superclass != null) { return checkInheritanceRelationship(superclass, finalSuperclass, visitedClasses); if(checkInheritanceRelationship(implementedInterface, finalSuperclass, visitedClasses)) { return true;