/**
  *
  * @param array $new_mapping_list
  * @param Project $project
  */
 public function saveMapping(array $new_mapping_list, Project $project)
 {
     $current_mapping_list = $this->getCurrentUserGroupMapping($project);
     $mappings_to_remove = $this->getUserGroupMappingsDiff($current_mapping_list, $new_mapping_list);
     $mappings_to_add = $this->getUserGroupMappingsDiff($new_mapping_list, $current_mapping_list);
     foreach (self::$MEDIAWIKI_MODIFIABLE_GROUP_NAMES as $mw_group_name) {
         $this->removeMediawikiUserGroupMapping($project, $mappings_to_remove, $mw_group_name);
         $this->addMediawikiUserGroupMapping($project, $mappings_to_add, $mw_group_name);
     }
     $this->dao->resetUserGroups($project);
 }