@Override
  public List<AnAction> promote(@NotNull List<? extends AnAction> actions, @NotNull DataContext context) {
    ActionManager am = ActionManager.getInstance();
    List<AnAction> reorderedActions = new ArrayList<>(actions);
    List<String> reorderedIds = ContainerUtil.map(reorderedActions, it -> am.getId(it));

    reorderActionPair(reorderedActions, reorderedIds, "Vcs.MoveChangedLinesToChangelist", "ChangesView.Move");
    reorderActionPair(reorderedActions, reorderedIds, "Vcs.RollbackChangedLines", "ChangesView.Revert");
    reorderActionPair(reorderedActions, reorderedIds, "Vcs.ShowDiffChangedLines", "Diff.ShowDiff");

    Set<AnAction> promoted = new HashSet<>(filter(actions, action ->
      action instanceof ShowMessageHistoryAction || action instanceof CommitActionsPanel.DefaultCommitAction ||
      isCommitMessageEditor(context) && (
        action instanceof PreviousWordWithSelectionAction || action instanceof NextWordWithSelectionAction
      )
    ));

    reorderedActions.removeAll(promoted);
    reorderedActions.addAll(0, promoted);

    return reorderedActions;
  }
@Override
  public List<AnAction> promote(@NotNull List<? extends AnAction> actions, @NotNull DataContext context)