/**
  * Loads all policies from roles which are assigned to a user or to user groups to which the user belongs
  *
  * @throws \eZ\Publish\API\Repository\Exceptions\NotFoundException if a user with the given id was not found
  *
  * @param mixed $userId
  *
  * @return \eZ\Publish\API\Repository\Values\User\Policy[]
  */
 public function loadPoliciesByUserId($userId)
 {
     $spiPolicies = $this->userHandler->loadPoliciesByUserId($userId);
     $policies = array();
     foreach ($spiPolicies as $spiPolicy) {
         $policies[] = $this->buildDomainPolicyObject($spiPolicy);
     }
     if (empty($policies)) {
         $this->userHandler->load($userId);
     }
     // For NotFoundException in case userId is invalid
     return $policies;
 }