public function matchFull($permissions, array $authzGroups)
    {
        $privileges = [];

        foreach ($permissions as $permissionAuthzGroup => $permissionPrivileges) {
            $matchingAuthzGroup = $this->getMatchingAuthzGroup($permissionAuthzGroup, $authzGroups);
            
            if (!$matchingAuthzGroup) {
                continue;
            }
            
            $privileges = $this->addAuthzGroupsToPrivileges($privileges, $permissionPrivileges, [
                $permissionAuthzGroup, $matchingAuthzGroup
            ]);
        }

        return $privileges;
    }