def METHOD_NAME(model, strategy=None):
    wrap_cls = None
    if strategy is None:
        return _propose_leaf_modules(wrap_cls)
    for opt in strategy:
        opt_name = opt[0]
        if opt_name == "fsdp":
            if len(opt) > 1:
                opt_config = opt[1]
                atorch_wrap_cls = set(to_module_class_by_name(model, opt_config.get("atorch_wrap_cls", set())))
                if wrap_cls is None:
                    wrap_cls = atorch_wrap_cls
                else:
                    wrap_cls = wrap_cls & atorch_wrap_cls
        if opt_name == "checkpoint":
            if len(opt) > 1:
                opt_config = opt[1]
                ckpt_wrap_cls = set(to_module_class_by_name(model, opt_config))
                if wrap_cls is None:
                    wrap_cls = ckpt_wrap_cls
                else:
                    wrap_cls = wrap_cls & ckpt_wrap_cls
    leaf_modules = _propose_leaf_modules(wrap_cls)
    return leaf_modules