def METHOD_NAME(self, var_name: str, lov: t.List[t.Any]) -> t.Dict[str, t.Any]:
    dict_res = {}
    adapter = self.__get_for_var(var_name, lov[0] if lov else None)
    for value in lov:
        try:
            result = adapter(value._dict if isinstance(value, _MapDict) else value) if adapter else value
            if result is not None:
                dict_res[self.__get_id(result)] = value
                children = self.__get_children(result)
                if children is not None:
                    dict_res.update(self.METHOD_NAME(var_name, children))
        except Exception as e:
            _warn(f"Cannot run adapter for {var_name}:\n{e}")
    return dict_res