code: def decode(self, value):
          
          # Use the default value unless the field accepts None types
          has_null_encoder = bool(encode_decode_null in self._decoders)
  
          if value is None and self._default is not None and not has_null_encoder:
              value = self._default
  
          for decoder in self._decoders:
              try:
                  return decoder(value)
              except ValueError as ex:
                  pass
  
          raise ValueError('Value \'{}\' is invalid. {}'
                           .format(value, ex.message))
docs: The decoder for this schema.
          Tries each decoder in order of the types specified for this schema.