@Override
    public void doExecute(@NotNull Editor editor, @NotNull Caret caret, DataContext dataContext) {
      final PsiFile file = CommonDataKeys.PSI_FILE.getData(dataContext);
      if (file == null) return;

      int targetOffset = getClosestTargetOffset(editor, file);

      if (targetOffset > -1) {
        moveCaret(editor, editor.getCaretModel().getCurrentCaret(), targetOffset);
      }
    }
@Override
    public void doExecute(@NotNull Editor editor, @NotNull Caret caret, DataContext dataContext)