private List<AnAction> createGroupingActions(UsageView usageView, JComponent component) {
    List<AnAction> list = new ArrayList<>();
    ActionManager actionManager = ActionManager.getInstance();
    AnAction groupByUsageTypeAction = actionManager.getAction("UsageGrouping.UsageType");
    for (UsageGroupingRuleProvider provider : UsageGroupingRuleProvider.EP_NAME.getExtensionList()) {
      for (@NotNull AnAction action : provider.createGroupingActions(usageView)) {
        if (action != groupByUsageTypeAction) {
          action.registerCustomShortcutSet(component, getDisposable());
          list.add(action);
        }
      }
    }
    AnAction groupByModuleAction = ActionManager.getInstance().getAction("UsageGrouping.Module");
    AnAction flattenModulesAction = actionManager.getAction("UsageGrouping.FlattenModules");
    list.sort((o1, o2) -> {
      if (o1 == groupByModuleAction && o2 == flattenModulesAction) {
        return -1;
      }
      else if (o1 == flattenModulesAction && o2 == groupByModuleAction) {
        return 1;
      }
      return Comparing.compare(o1.getTemplateText(), o2.getTemplateText());
    });
    return list;
  }
private List<AnAction> createGroupingActions(UsageView usageView, JComponent component)