def METHOD_NAME(section, submenu, runtime_upd: Optional[Callable] = None):
    ans = []
    submenu_inst = submenu()
    if callable(runtime_upd):
        submenu_inst = runtime_upd(submenu_inst)
    smitems: Tuple[Field, ...] = fields(submenu_inst)
    for item in smitems:
        value = getattr(submenu_inst, item.name)
        if callable(value):
            value = value(merged_args)
        values = value if type(value) is list else [value]
        for value in values:
            if not value:
                continue
            ans.append(value.filter_empty_args().set_disabled(
                is_disabled(value)).create(merged_args, plugin_ctx.translate))
    return tuple(ans + custom_menu_items(section))