'Return True when the cache matches.
Updates the cache and returns False when the cache does not match.'

def _cached(self):

    cache_key = _cache_key()
    if ((self._cache_key is None) or (cache_key != self._cache_key)):
        self._cache_key = cache_key
        return False
    return True
