OccurenceInfo (int delta) { Editor editor = getEditor(); if (isDisposed() || editor == null) { return null; } return EditorHyperlinkSupport.getNextOccurrence(editor, delta, next -> { int offset = next.getStartOffset(); scrollTo(offset); HyperlinkInfo hyperlinkInfo = EditorHyperlinkSupport.getHyperlinkInfo(next); if (hyperlinkInfo instanceof BrowserHyperlinkInfo) { return; } if (hyperlinkInfo instanceof HyperlinkInfoBase) { VisualPosition position = editor.offsetToVisualPosition(offset); Point point = editor.visualPositionToXY(new VisualPosition(position.getLine() + 1, position.getColumn())); ((HyperlinkInfoBase)hyperlinkInfo).navigate(myProject, new RelativePoint(editor.getContentComponent(), point)); } else if (hyperlinkInfo != null) { hyperlinkInfo.navigate(myProject); } }); }