@Override
  public AnAction @NotNull [] getChildren(@Nullable AnActionEvent e) {
    if (e == null) return EMPTY_ARRAY;

    VcsLogUi logUI = e.getData(VcsLogDataKeys.VCS_LOG_UI);
    if (logUI == null) return EMPTY_ARRAY;
    VcsLogUiProperties properties = e.getData(VcsLogInternalDataKeys.LOG_UI_PROPERTIES);
    if (properties == null) return EMPTY_ARRAY;

    List<PermanentGraph.SortType> sortTypes = getAvailableSortTypes();

    List<AnAction> actions = new ArrayList<>();
    actions.add(Separator.create(VcsLogBundle.message("action.vcs.log.sort.type.separator")));
    actions.addAll(ContainerUtil.map(sortTypes, sortType -> {
      return new SelectOptionsAction(logUI, properties, new PermanentGraph.Options.Base(sortType));
    }));
    actions.add(Separator.create(VcsLogBundle.message("action.vcs.log.graph.options.separator")));
    if (BekUtil.isLinearBekEnabled()) {
      actions.add(new SelectNonBaseOptionsAction(logUI, properties, PermanentGraph.Options.LinearBek.INSTANCE));
    }
    actions.add(new SelectNonBaseOptionsAction(logUI, properties, PermanentGraph.Options.FirstParent.INSTANCE));
    actions.add(new NoMergesFilterAction(myParentFilterModel));

    actions.add(ActionManager.getInstance().getAction(VcsLogActionIds.BRANCH_ACTIONS_GROUP));

    return actions.toArray(EMPTY_ARRAY);
  }
@Override
  public AnAction @NotNull [] getChildren(@Nullable AnActionEvent e)