boolean (@NotNull PsiMethod method, PsiClass containingClass) { return containingClass != null && !method.isConstructor() && // NB: method CAN be final !method.hasModifierProperty(PsiModifier.STATIC) && !method.hasModifierProperty(PsiModifier.PRIVATE) && !method.hasModifierProperty(PsiModifier.ABSTRACT) && !method.hasModifierProperty(PsiModifier.NATIVE) && method.hasModifierProperty(PsiModifier.PUBLIC) && !containingClass.isInterface() && !(containingClass instanceof PsiAnonymousClass) && !containingClass.hasModifierProperty(PsiModifier.FINAL) && !CommonClassNames.JAVA_LANG_OBJECT.equals(containingClass.getQualifiedName()); }