def METHOD_NAME(
    self,
    get_object_callback,
    change_field,
    get_what_callback,
    changed_by,
    response_message,
    transaction,
    obj_not_found_msg="Requested object does not exist",
):
    """Reverts Releases, Rules or ScheduledChanges object to specific
    revision. Uses callable parameters to handle specific AUS object data.
    @param get_object_callback: A callback to get requested AUS object.
    @type get_object_callback: callable
    @param change_field: Specific table field to match revision.
    @type change_field: string
    @param get_what_callback: Criteria to revert revision.
    @type get_what_callback: callable
    @param changed_by: User.
    @type changed_by: string
    @param response_message: Success message.
    @type response_message: string
    @param transaction: Transaction
    @type transaction: auslib.db.AUSTransaction
    @param obj_not_found_msg: Error message for not found AUS object.
    @type obj_not_found_msg: string
    """
    obj = get_object_callback()
    if not obj:
        return problem(404, "Not Found", obj_not_found_msg)
    change_id = None
    if connexion.request.get_json():
        change_id = connexion.request.get_json().get("change_id")
    if not change_id:
        self.log.warning("Bad input: %s", "no change_id")
        return problem(400, "Bad Request", "No change_id passed in the request body")
    change = self.history_table.getChange(change_id=change_id)
    if change is None:
        return problem(400, "Bad Request", "Invalid change_id : {0} passed in the request body".format(change_id))
    obj_id = obj[change_field]
    if change[change_field] != obj_id:
        return problem(400, "Bad Request", "Bad {0} passed in the request".format(change_field))
    old_data_version = obj["data_version"]
    # now we're going to make a new insert based on this
    what = get_what_callback(change)
    where = dict()
    where[change_field] = obj_id
    self.table.update(changed_by=changed_by, where=where, what=what, old_data_version=old_data_version, transaction=transaction)
    return Response(response_message)