consid save individu xmi individu diagram make easier modular output argo param file file write param project project save save except goe wrong interrupt except thread interrupt argouml persist project file persist save argouml kernel project java io file save project project file file save except interrupt except progress mgr progress mgr progress mgr progress mgr set number phase progress mgr phase file archiv file file file absolut path file temp file temp file creat temp file file file except save except fail archiv previou file version io except save except fail archiv previou file version buffer writer writer project set file file project set version applic version version project set persist version persist version zip output stream stream zip output stream file output stream file writer buffer writer output stream writer stream utf save argo entri todo cyclic depend persist manag persist manag project base someplac zip entri zip entri zip entri persist manag instanc project base project file constant uncompress file ext stream entri zip entri hashtabl templat templat reader instanc read argo mini tee ocl expand expand ocl expand templat expand expand writer project writer flush stream close entri counter size project member size collect name arrai list size project member project member project member project member type equal ignor xmi defin log lp log granular type statement lp log local nest statement log info enabl log info save member project member zip endif project member zip origin name contain issu explain need counter origin name add stream entri zip entri member file persist persist member file persist project member persist save project member stream stream flush stream close entri size project member project member project member project member type equal ignor xmi defin log lp log granular type statement lp log local nest statement log info enabl log info save member type project member type endif stream entri zip entri project member zip old model member file persist persist old model member file persist persist save project member stream stream flush save did rais except exist correct backup file archiv file exist archiv file delet temp file exist archiv file exist temp file renam archiv file temp file exist temp file delet progress mgr phase except defin log lp log granular type statement log error except occur save attempt endif writer close except ex frank except delet mv exist rollback old file file delet temp file renam file messag user set unsav save except writer close io except ex defin log lp log granular type statement log error fail close save output writer ex endif 