'Rejects all entity that are too old or new, return True when this happens.
:param entity: Entity model
:param list entries: List of entries for given episode.
:param int grace: Number of episodes before or after latest download that are allowed.
:param bool backfill: If this is True, previous episodes will be allowed,
but forward advancement will still be restricted.'

def process_entity_tracking(self, entity, entries, grace, threshold, backfill=False):

    latest = get_latest_release(entity.series)
    if (entity.series.begin and ((not latest) or (entity.series.begin > latest))):
        latest = entity.series.begin
    log.debug(u'latest    download:    %s', latest)
    log.debug(u'current:    %s', entity)
    if latest:
        if (entity.season in entity.series.completed_seasons):
            log.debug(u'season    `%s`    already    completed    for    this    series', entity.season)
            for entry in entries:
                entry.reject((u'season    `%s`    is    already    completed' % entity.season))
            return True
        if (entity.is_season and (entity.series.episodes_for_season(entity.season) > threshold)):
            log.debug(u'threshold    of    %s    has    been    met,    skipping    season    pack', threshold)
            for entry in entries:
                entry.reject(u'The    configured    number    of    episodes    for    this    season    has    already    been    downloaded')
            return True
        if (latest.identified_by == entity.identified_by):
            if (not backfill):
                if ((entity.season < latest.season) or ((entity.identified_by == u'sequence') and (entity.number < (latest.number - grace)))):
                    log.debug(u'too    old!    rejecting    all    occurrences')
                    for entry in entries:
                        entry.reject((u'Too    much    in    the    past    from    latest    downloaded    entity    %s' % latest.identifier))
                    return True
            if ((entity.season > (latest.season + 1)) or ((not entity.is_season) and (((entity.season > latest.season) and (entity.number > 1)) or ((not latest.is_season) and ((entity.season == latest.season) and (entity.number > (latest.number + grace))))))):
                log.debug(u'too    new!    rejecting    all    occurrences')
                for entry in entries:
                    entry.reject((u'Too    much    in    the    future    from    latest    downloaded    entity    `%s`.    See    `--disable-tracking`    if    this    should    be    downloaded.' % latest.identifier))
                return True
