public function getReachableRoles($roles)
  {
    if (!is_array($roles)) $roles = [$roles];
    
    $reachableRoles = [];
    foreach ($roles as $role) 
    {
      $reachableRoles[$role] = $role;
      if (!isset($this->map[$role])) continue;
      
      foreach ($this->map[$role] as $role) 
      {
        $reachableRoles[$role] = $role;
      }
    }
    return $reachableRoles;
  }