void (PsiElement highlightingElement, PsiDirectory descriptionDirectory, Collection<? super RelatedItemLineMarkerInfo<?>> result) { final List<PsiFile> templateFiles = new SortedList<>(Comparator.comparing(PsiFileSystemItem::getName)); for (PsiFile file : descriptionDirectory.getFiles()) { final String fileName = file.getName(); if (fileName.endsWith(".template")) { if (fileName.startsWith("after.") || fileName.startsWith("before.")) { templateFiles.add(file); } } } if (templateFiles.isEmpty()) return; //noinspection DialogTitleCapitalization final RelatedItemLineMarkerInfo<PsiElement> info = NavigationGutterIconBuilder .create(DevKitIcons.Gutter.Diff, CONVERTER, RELATED_ITEM_PROVIDER) .setTargets(templateFiles) .setPopupTitle(DevKitBundle.message("gutter.related.navigation.popup.template.title")) .setTooltipText(DevKitBundle.message("gutter.related.navigation.popup.template.tooltip")) .setAlignment(GutterIconRenderer.Alignment.RIGHT) .createLineMarkerInfo(highlightingElement); result.add(info); }