/**
  * Saves the folder
  * @param $folder Folder - folder object
  */
 function update($folder)
 {
     $folderMapper = new FolderMapper();
     // Coordinate transaction
     $icfDatabase = new IcfDatabase();
     $conn =& $icfDatabase->dbOpen();
     $conn->StartTrans();
     $folderMapper->setConnection($conn);
     // Update folder
     $folderMapper->update($folder);
     $folderClassMapper = new FolderClassMapper();
     $folderClassMapper->setConnection($conn);
     // Delete previous FolderClasses
     $folderClassMapper->deleteByFolderId($folder->getId());
     // Save FolderClasses
     foreach ($folder->getFolderClasses() as $folderClass) {
         /* @var $folderClass FolderClass */
         $folderClass->setFolderID($folder->getId());
         $folderClassMapper->save($folderClass);
     }
     // Close transaction
     $conn->completeTrans();
     $icfDatabase->dbClose($conn);
 }