code: def prepare_to_store(self, entity, value):
          
          if value is None and not self.optional:
              raise RuntimeError(f"Property {self.name_on_model} requires a value.")
          return value
docs: Prepare `value` for storage.  Called by the Model for each
          Property, value pair it contains before handing the data off
          to an adapter.
  
          Parameters:
            entity(Model): The entity to which the value belongs.
            value: The value being stored.
  
          Raises:
            RuntimeError: If this property is required but no value was
              assigned to it.
  
          Returns:
            The value that should be persisted.