def METHOD_NAME(self, identity, id_, data, uow=None):
    """Update an OAI set."""
    self.require_permission(identity, "update")
    oai_set, errors = self._get_one(id=id_)
    if oai_set.system_created:
        raise OAIPMHSetNotEditable(oai_set.id)
    valid_data, errors = self.schema.load(
        data,
        context={"identity": identity},
        raise_errors=True,
    )
    for key, value in valid_data.items():
        setattr(oai_set, key, value)
    uow.register(OAISetCommitOp(oai_set))
    return self.result_item(
        service=self,
        identity=identity,
        item=oai_set,
        links_tpl=self.links_item_tpl,
    )