docs: def serialize_to_flat(self, name, datas):
          """
          Serialize given datas to a flat structure ``KEY:VALUE`` where ``KEY``
          comes from ``keys`` variable and ``VALUE`` comes from ``values``
          variable.
  
          This means both ``keys`` and ``values`` are required variable to be
          correctly filled (each one is a string of item separated with an empty
          space). Both resulting list must be the same length.
  
          Arguments:
              name (string): Name only used inside possible exception message.
              datas (dict): Datas to serialize.
  
          Returns:
              dict: Flat dictionnay of serialized reference datas.
          """
          keys = datas.get('keys', None)
          values = datas.get('values', None)
          splitter = datas.get('splitter', self._DEFAULT_SPLITTER)
  
          if not keys:
              msg = ("Flat reference '{}' lacks of required 'keys' variable or "
                     "is empty")
              raise SerializerError(msg.format(name))
          else:
              keys = self.value_splitter(name, 'keys', keys, mode=splitter)
  
          if not values:
              msg = ("Flat reference '{}' lacks of required 'values' variable "
                     "or is empty")
              raise SerializerError(msg.format(name))
          else:
              values = self.value_splitter(name, 'values', values, mode=splitter)
  
          if len(values) != len(keys):
              msg = ("Flat reference have different length of 'keys' ands "
                     "'values' variable")
              raise SerializerError(msg.format(name))
  
          return OrderedDict(zip(keys, values))