@Nullable
  @Override
  public ShortcutSet getShortcut(@NotNull DataContext context) {
    List<Shortcut> list = new ArrayList<>();
    boolean isSingleLine = !isMultiLine();
    if (myDirectionForward) {
      list.addAll(Utils.shortcutsOf(IdeActions.ACTION_FIND_NEXT));
      if (isSingleLine) {
        list.addAll(Utils.shortcutsOf(IdeActions.ACTION_EDITOR_MOVE_CARET_DOWN));
        Collections.addAll(list, CommonShortcuts.ENTER.getShortcuts());
      }
    }
    else {
      list.addAll(Utils.shortcutsOf(IdeActions.ACTION_FIND_PREVIOUS));
      if (isSingleLine) {
        list.addAll(Utils.shortcutsOf(IdeActions.ACTION_EDITOR_MOVE_CARET_UP));
        list.add(new KeyboardShortcut(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, InputEvent.SHIFT_DOWN_MASK), null));
      }
    }
    return Utils.shortcutSetOf(list);
  }
@Nullable
  @Override
  public ShortcutSet getShortcut(@NotNull DataContext context)