docs: def add_plate(self, plate_definition):
          """
          Add a plate using the plate definition
          :param plate_definition: The plate definition
          :return: None
          :type plate_definition: PlateDefinitionModel
          """
          values = self.get_plate_values(plate_definition)
  
          # TODO: We should also be checking that the plate is defined over all of the values of the parent plate
          self.plates[plate_definition.plate_id] = Plate(
              plate_id=plate_definition.plate_id,
              meta_data_id=plate_definition.meta_data_id,
              values=values,
              parent_plate=self.plates[plate_definition.parent_plate] if plate_definition.parent_plate else None)
  
          logging.debug("Added plate: {}".format(self.plates[plate_definition.plate_id]))