isNameSourceGranted(RightType::READ, LayerType::SOURCE)) { //FILL! :) } } private function isNameSourceGranted(string $right, string $layer): bool { $nameSource = $this->source->getNameSource(); $law = $nameSource->getNode()->getLaw(); $userSourceNode = $this->source->getNode(); return $this->isGranted($right, $layer) && $law->isGranted($userSourceNode, $layer, $right); } public function getUser(): User { //FILL } public function setUser(User $user): void { //FILL } }