docs: def to_dict(self, lev=0):
          """
          Return a dictionary representation of the class
  
          :return: A dict
          """
  
          _spec = self.c_param
  
          _res = {}
          lev += 1
          for key, val in self._dict.items():
              try:
                  (_, req, _ser, _, null_allowed) = _spec[str(key)]
              except KeyError:
                  try:
                      _key, lang = key.split("#")
                      (_, req, _ser, _, null_allowed) = _spec[_key]
                  except (ValueError, KeyError):
                      try:
                          (_, req, _ser, _, null_allowed) = _spec['*']
                      except KeyError:
                          _ser = None
  
              if _ser:
                  val = _ser(val, "dict", lev)
  
              if isinstance(val, Message):
                  _res[key] = val.to_dict(lev + 1)
              elif isinstance(val, list) and isinstance(
                      next(iter(val or []), None), Message):
                  _res[key] = [v.to_dict(lev) for v in val]
              else:
                  _res[key] = val
  
          return _res