void (@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) ); } }