@Override
      public void caretPositionChanged(@NotNull CaretEvent e) {
        PerHintSearchData data = hint.getUserData(SEARCH_DATA_IN_HINT_KEY);
        if (data != null && data.ignoreCaretMove) return;
        if (!hint.isVisible()) return;
        hint.hide();
      }
@Override
      public void caretPositionChanged(@NotNull CaretEvent e)