boolean (@NotNull final PySuperMethodsSearch.SearchParameters queryParameters, @NotNull final Processor<? super PsiElement> consumer) { PyFunction func = queryParameters.getDerivedMethod(); PyClass containingClass = func.getContainingClass(); if (containingClass != null) { for (PyClassLikeType type : containingClass.getSuperClassTypes(TypeEvalContext.codeInsightFallback(containingClass.getProject()))) { if (type instanceof PyJavaClassType) { final PsiClass psiClass = ((PyJavaClassType)type).getPsiClass(); PsiMethod[] methods = psiClass.findMethodsByName(func.getName(), true); // the Python method actually does override/implement all of Java super methods with the same name if (!ContainerUtil.process(methods, consumer)) return false; } } } return true; }