'cached_permissions will generate the cache in a lazy fashion.'

@property
def _group_perm_cache(self):

    if (not self.group):
        return {}
    cache_filled = getattr(self.group, '_authority_perm_cache_filled', False)
    if cache_filled:
        return self.group._authority_perm_cache
    self._prime_group_perm_caches()
    return self.group._authority_perm_cache
