@classmethod
def create_action(cls, cli_args: Namespace) -> Action:
    if cli_args.simulate:
        return SimulationAction(cli_args)
    if (cli_args.goals or cli_args.invariants):
        return GoalsAction(cli_args)
    if cli_args.plot:
        return PlotAction(cli_args)
    if cli_args.gram_charlier:
        return GramCharlierAction(cli_args)
    if cli_args.cornish_fisher:
        return CornishFisherAction(cli_args)
    if (cli_args.mc_comb is not None):
        return MCCombinationAction(cli_args)
    return PrintBenchmarkAction(cli_args)
@classmethod
def create_action(cls, cli_args: Namespace) -> Action:
    if cli_args.simulate:
        return SimulationAction(cli_args)
    if (cli_args.goals or cli_args.invariants):
        return GoalsAction(cli_args)
    if cli_args.plot:
        return PlotAction(cli_args)
    if cli_args.gram_charlier:
        return GramCharlierAction(cli_args)
    if cli_args.cornish_fisher:
        return CornishFisherAction(cli_args)
    if (cli_args.mc_comb is not None):
        return MCCombinationAction(cli_args)
    return PrintBenchmarkAction(cli_args)