@Override
  public boolean isEnabledForCaret(@NotNull Editor editor, @NotNull Caret caret, DataContext dataContext) {
    // We perform line movement only once for each line (only for the first caret in line)
    return super.isEnabledForCaret(editor, caret, dataContext) && isCurrentCaretFirstInItsLine(editor);
  }
@Override
  public boolean isEnabledForCaret(@NotNull Editor editor, @NotNull Caret caret, DataContext dataContext)