docs: def from_urlencoded(self, urlencoded, **kwargs):
          """
          Starting with a string of the application/x-www-form-urlencoded format 
          this method creates a class instance
  
          :param urlencoded: The string
          :return: A class instance or raise an exception on error
          """
  
          # parse_qs returns a dictionary with keys and values. The values are
          # always lists even if there is only one value in the list.
          # keys only appears once.
  
          if isinstance(urlencoded, str):
              pass
          elif isinstance(urlencoded, list):
              urlencoded = urlencoded[0]
  
          _spec = self.c_param
  
          _info = parse_qs(urlencoded)
          if len(urlencoded) and _info == {}:
              raise FormatError('Wrong format')
  
          for key, val in _info.items():
              try:
                  (typ, _, _, _deser, null_allowed) = _spec[key]
              except KeyError:
                  try:
                      _key, lang = key.split("#")
                      (typ, _, _, _deser, null_allowed) = _spec[_key]
                  except (ValueError, KeyError):
                      try:
                          (typ, _, _, _deser, null_allowed) = _spec['*']
                      except KeyError:
                          if len(val) == 1:
                              val = val[0]
  
                          self._dict[key] = val
                          continue
  
              if isinstance(typ, list):
                  if _deser:
                      self._dict[key] = _deser(val[0], "urlencoded")
                  else:
                      self._dict[key] = val
              else:  # must be single value
                  if len(val) == 1:
                      if _deser:
                          self._dict[key] = _deser(val[0], "urlencoded")
                      elif isinstance(val[0], typ):
                          self._dict[key] = val[0]
                      else:
                          self._dict[key] = val[0]
                  else:
                      raise TooManyValues('{}'.format(key))
  
          return self