def METHOD_NAME(self, identity, data, record, uow=None):
    """Create a new review request in draft state (to be completed."""
    if record.parent.review is not None:
        raise ReviewExistsError(_("A review already exists for this record"))
    # Validate that record has not been published.
    if record.is_published or record.versions.index > 1:
        raise ReviewStateError(
            _("You cannot create a review for an already published record.")
        )
    # Validate the review type (only review requests are valid)
    type_ = self._validate_request_type(data.pop("type", None))
    # Resolve receiver
    receiver = ResolverRegistry.resolve_entity_proxy(
        data.pop("receiver", None)
    ).resolve()
    # Delegate to requests service to create the request
    request_item = current_requests_service.METHOD_NAME(
        identity,
        data,
        type_,
        receiver,
        topic=record,
        uow=uow,
    )
    # Set the request on the record and commit the record
    record.parent.review = request_item._request
    uow.register(ParentRecordCommitOp(record.parent))
    return request_item