boolean (PsiMethod superMethodCandidate, PsiMethod derivedMethod) { final PsiClass superClassCandidate = superMethodCandidate.getContainingClass(); final PsiClass derivedClass = derivedMethod.getContainingClass(); if (derivedClass == null || superClassCandidate == null) { return false; } if (!derivedClass.isInheritor(superClassCandidate, false)) { return false; } final PsiSubstitutor superSubstitutor = TypeConversionUtil.getSuperClassSubstitutor( superClassCandidate, derivedClass, PsiSubstitutor.EMPTY); final MethodSignature superSignature = superMethodCandidate.getSignature(superSubstitutor); final MethodSignature derivedSignature = derivedMethod.getSignature(PsiSubstitutor.EMPTY); return MethodSignatureUtil.isSubsignature(superSignature, derivedSignature); }