void (@NotNull Editor editor, Caret caret, DataContext dataContext) { PerEditorSearchData data = editor.getUserData(SEARCH_DATA_IN_EDITOR_VIEW_KEY); if (data == null || data.hint == null){ myOriginalHandler.execute(editor, caret, dataContext); } else{ LightweightHint hint = data.hint; PerHintSearchData hintData = hint.getUserData(SEARCH_DATA_IN_HINT_KEY); String prefix = hintData.label.getText(); if (prefix == null) return; hintData.searchStart = editor.getCaretModel().getOffset(); if (hintData.searchStart == editor.getDocument().getTextLength()) return; hintData.searchStart++; updatePosition(editor, hintData, true, false); hintData.searchStart = editor.getCaretModel().getOffset(); } }