void (@NotNull Project project, @NotNull PsiElement element, @NotNull List<? extends PsiReference> refs, @NotNull Editor editor, @NotNull PsiFile file, boolean clearHighlights) { HighlightManager highlightManager = HighlightManager.getInstance(project); setupFindModel(project); ReadWriteAccessDetector detector = ReadWriteAccessDetector.findDetector(element); if (detector != null) { List<PsiReference> readRefs = new ArrayList<>(); List<PsiReference> writeRefs = new ArrayList<>(); for (PsiReference ref : refs) { if (detector.getReferenceAccess(element, ref) == ReadWriteAccessDetector.Access.Read) { readRefs.add(ref); } else { writeRefs.add(ref); } } doHighlightRefs(highlightManager, editor, readRefs, EditorColors.SEARCH_RESULT_ATTRIBUTES, clearHighlights); doHighlightRefs(highlightManager, editor, writeRefs, EditorColors.WRITE_SEARCH_RESULT_ATTRIBUTES, clearHighlights); } else { doHighlightRefs(highlightManager, editor, refs, EditorColors.SEARCH_RESULT_ATTRIBUTES, clearHighlights); } TextRange range = getNameIdentifierRange(file, element); if (range != null) { TextAttributesKey nameAttributes = detector != null && detector.isDeclarationWriteAccess(element) ? EditorColors.WRITE_SEARCH_RESULT_ATTRIBUTES : EditorColors.SEARCH_RESULT_ATTRIBUTES; highlightRanges(highlightManager, editor, nameAttributes, clearHighlights, Collections.singletonList(range)); } }