/**
  * Finds all included roles
  *
  * @param Role  $role                   the starting role
  * @param array $includedRoleCollection the list of included roles
  */
 private function findIncludedRoles(Role $role, array &$includedRoleCollection)
 {
     // check whether we already visited this role
     // this is required as we need a safeguard against cyclic role hierarchies
     if (isset($includedRoleCollection[$role->getRole()])) {
         return;
     }
     // mark current role as included
     $includedRoleCollection[$role->getRole()] = $role;
     foreach ($role->getIncludedRoles() as $includedRole) {
         $this->findIncludedRoles($includedRole, $includedRoleCollection);
     }
 }
 public function testEmptyConfigurationFromArray()
 {
     $role = Role::createFromConfiguration("ROLE_TEST", []);
     $this->assertNull($role->getTitle());
     $this->assertNull($role->getDescription());
     $this->assertFalse($role->isHidden());
 }