PsiClass (PsiClass subClass, boolean includeNonProject) { PsiClassType[] superTypes = subClass.getSuperTypes(); if (superTypes.length > 0) { PsiClass resolved = superTypes[0].resolve(); // if we have no superclass but have interfaces, prefer interfaces to class (IDEADEV-20104) if (resolved != null && CommonClassNames.JAVA_LANG_OBJECT.equals(resolved.getQualifiedName()) && superTypes.length > 1) { resolved = superTypes [1].resolve(); } if (resolved != null) { if (!includeNonProject) { if (resolved.getManager().isInProject(resolved)) { return resolved; } } else { return resolved; } } } return null; }