/**
  * delete disconnectable mappings
  * @param <type> $a_server_id
  * @param <type> $a_mid
  * @param <type> $a_tree_id
  */
 public static function deleteDisconnectableMappings($a_server_id, $a_mid, $a_tree_id, $a_ref_id)
 {
     global $ilDB;
     include_once './Services/WebServices/ECS/classes/Tree/class.ilECSCmsTree.php';
     include_once './Services/WebServices/ECS/classes/Tree/class.ilECSCmsData.php';
     $toDelete = array();
     foreach (self::lookupAssignmentsByRefId($a_server_id, $a_mid, $a_tree_id, $a_ref_id) as $assignment) {
         $status = ilECSCmsData::lookupStatusByCmsId($a_server_id, $a_mid, $a_tree_id, $assignment);
         switch ($status) {
             case ilECSCmsData::MAPPING_UNMAPPED:
                 $toDelete[] = $assignment;
                 break;
             case ilECSCmsData::MAPPING_PENDING_DISCONNECTABLE:
                 $toDelete[] = $assignment;
                 break;
             case ilECSCmsData::MAPPING_PENDING_NOT_DISCONNECTABLE:
                 break;
             case ilECSCmsData::MAPPING_MAPPED:
                 $toDelete[] = $assignment;
                 break;
             case ilECSCmsData::MAPPING_DELETED:
                 $toDelete[] = $assignment;
                 break;
         }
     }
     self::deleteMappingsByCsId($a_server_id, $a_mid, $a_tree_id, $toDelete);
 }