void (@NotNull PsiMethod method, @NotNull PsiSubstitutor substitutor, boolean staticProblem) { final boolean isAccessible = JavaResolveUtil.isAccessible(method, getContainingClass(method), method.getModifierList(), myPlace, myAccessClass, myCurrentFileContext, myPlaceFile) && !isShadowed(method); boolean problematicInterfaceStaticMethod = false; if (isAccepted(method) && !(isInterfaceStaticMethodAccessibleThroughInheritance(method) && ImportsUtil.hasStaticImportOn(myPlace, method, true))) { if (!staticProblem && method.hasModifierProperty(PsiModifier.STATIC)) { final PsiClass containingClass = method.getContainingClass(); if (containingClass != null && containingClass.isInterface() && !(myAccessClass instanceof PsiTypeParameter) && !containingClass.getManager().areElementsEquivalent(myAccessClass, containingClass)) { if (myAccessClass != null) { staticProblem = true; } else { problematicInterfaceStaticMethod = true; } } } add(createCandidateInfo(method, substitutor, staticProblem, isAccessible, false)); if (acceptVarargs() && method.isVarArgs() && PsiUtil.isLanguageLevel8OrHigher(myPlace)) { add(createCandidateInfo(method, substitutor, staticProblem, isAccessible, true)); } myHasAccessibleStaticCorrectCandidate |= isAccessible && !problematicInterfaceStaticMethod;// && !staticProblem; } }