/**
  * Deletes the given role
  *
  * @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException if the authenticated user is not allowed to delete this role
  *
  * @param \eZ\Publish\API\Repository\Values\User\Role $role
  */
 public function deleteRole(APIRole $role)
 {
     if ($this->repository->hasAccess('role', 'delete') !== true) {
         throw new UnauthorizedException('role', 'delete');
     }
     $loadedRole = $this->loadRole($role->id);
     $this->repository->beginTransaction();
     try {
         $this->userHandler->deleteRole($loadedRole->id);
         $this->repository->commit();
     } catch (Exception $e) {
         $this->repository->rollback();
         throw $e;
     }
 }