def METHOD_NAME(self, pid_type, pid_value, db_version):
    """Index records from the record's citations.
    This tasks retries itself in 2 scenarios:
    - A new record is saved but it is not yet visible by this task bacause the
    transaction is not finished yet (RecordGetterError).
    - When a record is updated, but new changes are not yet in DB, for the
    same reason as above (StaleDataError).
    Args:
        pid_type(String): pid type of the record
        pid_value(String): pid value of the record
        db_version(Int): the correct version of the record that we expect
            to index. This prevents loading stale data from the DB.
    Raise:
      MissingCitedRecordError in case cited records are not found
    """
    logger.info("Starting index_modified_citations_from_record for {pid_value}"
                " with db version: {db_version}".format(
                    pid_value=pid_value, db_version=db_version))
    try:
        record = get_db_record(pid_type, pid_value)
        if record.model.version_id < db_version:
            raise StaleDataError
    except (RecordGetterError, StaleDataError) as e:
        logger.warn(
            'Record {} not yet at version {} on DB'.format(
                (pid_type, pid_value), db_version)
        )
        backoff = 2 ** (self.request.retries + 1)
        if self.max_retries < self.request.retries + 1:
            logger.warn("({pid_value}) - Failing - too many retries".format(
                pid_value=pid_value)
            )
        raise self.retry(countdown=backoff, exc=e)
    pids = record.get_modified_references()
    if not pids:
        logger.info('No references change for record {}'.format((pid_type, pid_value)))
        return None
    logger.info(
        "({pid_value}) There are {count_pids}"
        " records references changed".format(pid_value=pid_value,
                                             count_pids=len(pids))
    )
    uuids = [
        str(pid.object_uuid) for pid in
        db.session.query(PersistentIdentifier.object_uuid).filter(
            PersistentIdentifier.object_type == 'rec',
            tuple_(PersistentIdentifier.pid_type, PersistentIdentifier.pid_value).in_(pids)
        )
    ]
    if uuids:
        logger.info("({pid_value}) contains pids - starting batch".format(
            pid_value=pid_value)
        )
        return batch_reindex(uuids)
    raise MissingCitedRecordError(
        'Cited records to reindex not found:\nuuids: {}'.format(uuids)
    )