@Override
  public AnAction @NotNull [] getChildren(@Nullable AnActionEvent e) {
    AnAction editorSettingsGroup = ActionManager.getInstance().getAction(IdeActions.GROUP_DIFF_EDITOR_SETTINGS);

    List<AnAction> actions = new ArrayList<>();
    ContainerUtil.addAll(actions, myActions);
    actions.add(editorSettingsGroup);
    actions.add(Separator.getInstance());

    if (e != null && e.getData(DiffDataKeys.MERGE_VIEWER) != null) {
      actions.add(Separator.getInstance());
      actions.add(ActionManager.getInstance().getAction(IdeActions.ACTION_CONTEXT_HELP));
    }

    if (e != null && ActionPlaces.DIFF_TOOLBAR.equals(e.getPlace())) {
      return actions.toArray(AnAction.EMPTY_ARRAY);
    }

    ActionGroup gutterGroup = (ActionGroup)ActionManager.getInstance().getAction(IdeActions.GROUP_DIFF_EDITOR_GUTTER_POPUP);
    List<AnAction> result = new ArrayList<>(Arrays.asList(gutterGroup.getChildren(e)));
    result.add(Separator.getInstance());
    replaceOrAppend(result, editorSettingsGroup, new DefaultActionGroup(actions));
    return result.toArray(AnAction.EMPTY_ARRAY);
  }
@Override
  public AnAction @NotNull [] getChildren(@Nullable AnActionEvent e)