private void createHighlightsForDescriptor(@NotNull ProblemDescriptor descriptor,
                                             @NotNull PsiElement psiElement,
                                             @NotNull LocalInspectionToolWrapper tool,
                                             @NotNull Consumer<? super HighlightInfo> infoProcessor) {
    ApplicationManager.getApplication().assertIsNonDispatchThread();
    if (myIgnoreSuppressed) {
      LocalInspectionToolWrapper toolWrapper = tool;
      if (descriptor instanceof ProblemDescriptorWithReporterName name) {
        String reportingToolName = name.getReportingToolName();
        toolWrapper = (LocalInspectionToolWrapper)myProfileWrapper.getInspectionTool(reportingToolName, psiElement);
      }
      if (toolWrapper.getTool().isSuppressedFor(psiElement)) {
        registerSuppressedElements(psiElement, toolWrapper.getID(), toolWrapper.getAlternativeID(), mySuppressedElements);
        return;
      }
    }

    PsiFile file = psiElement.getContainingFile();

    HighlightDisplayKey displayKey = tool.getDisplayKey();
    if (displayKey == null) {
      LOG.error("getDisplayKey() is null for " + tool + " (" + tool.getTool() + " ; " + tool.getTool().getClass() + ")");
      return;
    }
    HighlightSeverity severity = myProfileWrapper.getErrorLevel(displayKey, file).getSeverity();

    createHighlightsForDescriptor(emptyActionRegistered, file, tool, severity, descriptor, psiElement, infoProcessor);
  }
private void createHighlightsForDescriptor(@NotNull ProblemDescriptor descriptor,
                                             @NotNull PsiElement psiElement,
                                             @NotNull LocalInspectionToolWrapper tool,
                                             @NotNull Consumer<? super HighlightInfo> infoProcessor)