public function isGranted(ResourceNode $resourceNode, array $userRoles): bool
    {
        return $this->hasRights($resourceNode, $userRoles)
            && $resourceNode->isActive()
            && $resourceNode->isPublished()
            && ($this->isStarted($resourceNode) && !$this->isEnded($resourceNode))
            && $this->isUnlocked($resourceNode)
            && $this->isIpAuthorized($resourceNode);
    }