@Override
      public void visitElement(@NotNull PsiElement element) {
        if (element instanceof Header header) {
          String headerName = header.getName();

          SortedSet<Suggestion> matches = new TreeSet<>();
          addMatches(headerName, CUSTOM_HEADERS, matches);
          addMatches(headerName, myRepository.getAllHeaderNames(), matches);

          Suggestion bestMatch = ContainerUtil.getFirstItem(matches);
          if (bestMatch != null && headerName.equals(bestMatch.getWord())) {
            return;
          }

          List<LocalQuickFix> fixes = new ArrayList<>();
          for (Suggestion match : matches) {
            fixes.add(LocalQuickFix.from(new HeaderRenameQuickFix(header, match.getWord())));
            if (fixes.size() == MAX_SUGGESTIONS) break;
          }
          if (bestMatch == null || bestMatch.getMetrics() > TYPO_DISTANCE) {
            fixes.add(new AddToInspectionOptionListFix<>(MisspelledHeaderInspection.this,
                                                         ManifestBundle.message("inspection.header.remember.fix", headerName),
                                                         headerName, inspection -> inspection.CUSTOM_HEADERS));
          }
          holder.registerProblem(
            header.getNameElement(), ManifestBundle.message("inspection.header.message"),
            ProblemHighlightType.GENERIC_ERROR_OR_WARNING, fixes.toArray(LocalQuickFix.EMPTY_ARRAY)
          );
        }
      }
@Override
      public void visitElement(@NotNull PsiElement element)