public function invalidateCache()
    {
        $this->_checkAccessAssignments = [];
        if ($this->cache !== null) {
            $this->items = null;
            $this->rules = null;
            $this->parents = null;
            return $this->cache->delete($this->cacheKey)
                ->then(function() {
                    return true;
                }, function() {
                    return true;
                });
        }
        return resolve(true);
    }