boolean (@NotNull VarianceCandidate candidate, boolean isExtends) { if (!(candidate.type instanceof PsiClassType)) return true; PsiClass aClass = ((PsiClassType)candidate.type).resolve(); if (aClass == null) return true; if (isExtends) { return aClass.hasModifierProperty(PsiModifier.FINAL) || CommonClassNames.JAVA_LANG_OBJECT.equals(aClass.getQualifiedName()); } return TypeUtils.isJavaLangObject(candidate.type); }