def METHOD_NAME(self, identity, id_, revision_id=None, uow=None):
    """Delete a review."""
    draft = self.draft_cls.pid.resolve(id_, registered_only=False)
    self.require_permission(identity, "update_draft", record=draft)
    # Preconditions
    if draft.parent.review is None:
        raise ReviewNotFoundError()
    request_type = draft.parent.review.get_object()["type"]
    self._validate_request_type(request_type)
    if draft.is_published:
        raise ReviewStateError(
            _(
                "You cannot delete a review for a draft that has already "
                "been published."
            )
        )
    if draft.parent.review.is_open:
        raise ReviewStateError(_("An open review cannot be deleted."))
    # Keep the request when not open or not closed so that the user can see
    # the request's events. The request is deleted only when in `draft`
    # status
    if not (draft.parent.review.is_closed or draft.parent.review.is_open):
        current_requests_service.METHOD_NAME(identity, draft.parent.review.id, uow=uow)
    # Unset on record
    draft.parent.review = None
    uow.register(ParentRecordCommitOp(draft.parent))
    uow.register(RecordIndexOp(draft, indexer=self.indexer))
    return True