/**
  * Update de la table group
  */
 private function updateRights($usersRights)
 {
     if (true === is_array($usersRights)) {
         $this->writeln('<info>- Updating groups: </info>' . "\n");
         $this->em->getConnection()->executeQuery('DELETE FROM `acl_classes` WHERE 1=1');
         $this->em->getConnection()->executeQuery('DELETE FROM `acl_entries` WHERE 1=1');
         $this->em->getConnection()->executeQuery('DELETE FROM `acl_object_identities` WHERE 1=1');
         $this->em->getConnection()->executeQuery('DELETE FROM `acl_object_identity_ancestors` WHERE 1=1');
         $this->em->getConnection()->executeQuery('DELETE FROM `acl_security_identities` WHERE 1=1');
         // First create all groups
         foreach ($usersRights as $group_identifier => $rights) {
             $this->writeln(sprintf('Checking group: %s', $group_identifier));
             // Création du group si introuvable
             if (null === ($group = $this->em->getRepository('BackBee\\Security\\Group')->findOneBy(array('_name' => $group_identifier)))) {
                 // ensure group exists
                 $group = new Group();
                 $group->setDescription(isset($rights['description']) ? $rights['description'] : $group_identifier)->setName($group_identifier);
                 $this->em->persist($group);
                 $this->em->flush($group);
                 $this->writeln(sprintf("\t- New group created: `%s`", $group_identifier));
             }
         }
         // Then apply rights
         foreach ($usersRights as $group_identifier => $rights) {
             $this->writeln(sprintf('Treating group: %s', $group_identifier));
             $securityIdentity = new UserSecurityIdentity($group->getObjectIdentifier(), 'BackBee\\Security\\Group');
             // Sites
             if (true === array_key_exists('sites', $rights)) {
                 $sites = $this->addSiteRights($rights['sites'], $this->aclProvider, $securityIdentity);
                 // Layouts
                 if (true === array_key_exists('layouts', $rights)) {
                     $this->addLayoutRights($rights['layouts'], $sites, $this->aclProvider, $securityIdentity);
                     $this->writeln("\t- Rights set on sites and layouts for group");
                 }
                 // Pages
                 if (true === array_key_exists('pages', $rights)) {
                     $this->addPageRights($rights['pages'], $this->aclProvider, $securityIdentity);
                     $this->writeln("\t- Rights set on pages for group");
                 }
                 // Mediafolders
                 if (true === array_key_exists('mediafolders', $rights)) {
                     $this->addFolderRights($rights['mediafolders'], $this->aclProvider, $securityIdentity);
                     $this->writeln("\t- Rights set on library folders for group");
                 }
                 // Contents
                 if (true === array_key_exists('contents', $rights)) {
                     $this->addContentRights($rights['contents'], $this->aclProvider, $securityIdentity);
                     $this->writeln("\t- Rights set on contents for group");
                 }
                 // Bundles
                 if (true === array_key_exists('bundles', $rights)) {
                     $this->addBundleRights($rights['bundles'], $this->aclProvider, $securityIdentity);
                     $this->writeln("\t- Rights set on bundles for group");
                 }
                 // Groups
                 if (true === array_key_exists('groups', $rights)) {
                     $this->addGroupRights($rights['groups'], $this->aclProvider, $securityIdentity);
                     $this->writeln("\t- Rights set on groups for group");
                 }
                 // Users
                 if (true === array_key_exists('users', $rights)) {
                     $this->addUserRights($rights['users'], $this->aclProvider, $securityIdentity);
                     $this->writeln("\t- Rights set on users for group");
                 }
             } else {
                 $this->writeln(sprintf("\t- No site rights defined for %s group, skip", $group_identifier));
             }
         }
     }
 }