def METHOD_NAME(self) -> Model:
    self.validate()
    if self._model:
        try:
            dataset = DatasetDAO.update(
                self._model,
                attributes=self._properties,
            )
            return dataset
        except DAOUpdateFailedError as ex:
            logger.exception(ex.exception)
            raise DatasetUpdateFailedError() from ex
    raise DatasetUpdateFailedError()