void (boolean requestFocus) { if (!myNavigateToReference) { PsiElement element = getPsiElement(); if (element instanceof Navigatable && ((Navigatable)element).canNavigate()) { ((Navigatable)element).navigate(requestFocus); } return; } PsiReference firstReference = myReferences.get(0); PsiElement element = firstReference.getElement(); PsiElement callElement = element.getParent(); if (callElement instanceof Navigatable && ((Navigatable)callElement).canNavigate()) { ((Navigatable)callElement).navigate(requestFocus); } else { PsiFile psiFile = callElement.getContainingFile(); if (psiFile == null || psiFile.getVirtualFile() == null) return; FileEditorManager.getInstance(myProject).openFile(psiFile.getVirtualFile(), requestFocus); } Editor editor = PsiEditorUtil.findEditor(callElement); if (editor != null) { HighlightManager highlightManager = HighlightManager.getInstance(myProject); List<RangeHighlighter> highlighters = new ArrayList<>(); for (PsiReference psiReference : myReferences) { PsiElement eachElement = psiReference.getElement(); PsiElement eachMethodCall = eachElement.getParent(); if (eachMethodCall != null) { TextRange textRange = eachMethodCall.getTextRange(); highlightManager.addRangeHighlight(editor, textRange.getStartOffset(), textRange.getEndOffset(), EditorColors.SEARCH_RESULT_ATTRIBUTES, false, highlighters); } } } }