private function checkRoleAccessToHomeTab(HomeTab $homeTab)
 {
     $workspace = $homeTab->getWorkspace();
     $this->checkToolAccess($workspace);
     $canEdit = $this->hasWorkspaceEditionAccess($workspace);
     $homeTabRoles = $homeTab->getRoles();
     $hasAccess = $canEdit || count($homeTabRoles) === 0;
     if (!$hasAccess) {
         $userRoleNames = $this->utils->getRoles($this->tokenStorage->getToken());
         foreach ($homeTabRoles as $role) {
             $homeTabRoleName = $role->getName();
             if (in_array($homeTabRoleName, $userRoleNames)) {
                 $hasAccess = true;
                 break;
             }
         }
     }
     if (!$hasAccess) {
         $exception = new WorkspaceAccessDeniedException();
         $exception->setWorkspace($workspace);
         throw $exception;
     }
 }