private static HighlightInfo.Builder isWeaker(@NotNull PsiMethod method,
                                                @NotNull PsiModifierList modifierList,
                                                @NotNull String accessModifier,
                                                int accessLevel,
                                                @NotNull PsiMethod superMethod,
                                                boolean includeRealPositionInfo, @Nullable Ref<? super String> descriptionH) {
    int superAccessLevel = PsiUtil.getAccessLevel(superMethod.getModifierList());
    if (accessLevel < superAccessLevel) {
      String description = JavaErrorBundle.message("weaker.privileges",
                                                   createClashMethodMessage(method, superMethod, true),
                                                   VisibilityUtil.toPresentableText(accessModifier),
                                                   PsiUtil.getAccessModifier(superAccessLevel));
      if (descriptionH != null) {
        descriptionH.set(description);
      }
      TextRange textRange = TextRange.EMPTY_RANGE;
      if (includeRealPositionInfo) {
        PsiElement keyword = PsiUtil.findModifierInList(modifierList, accessModifier);
        if (keyword != null) {
          textRange = keyword.getTextRange();
        }
        else {
          // in case of package-private or some crazy third-party plugin where some access modifier implied even if it's absent
          PsiIdentifier identifier = method.getNameIdentifier();
          if (identifier != null) {
            textRange = identifier.getTextRange();
          }
        }
      }
      HighlightInfo.Builder info =
        HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(textRange).descriptionAndTooltip(description);
      IntentionAction action = QuickFixFactory.getInstance().createChangeModifierFix();
      info.registerFix(action, null, null, null, null);
      return info;
    }

    return null;
  }
private static HighlightInfo.Builder isWeaker(@NotNull PsiMethod method,
                                                @NotNull PsiModifierList modifierList,
                                                @NotNull String accessModifier,
                                                int accessLevel,
                                                @NotNull PsiMethod superMethod,
                                                boolean includeRealPositionInfo, @Nullable Ref<? super String> descriptionH)