Cloning a Project Subtree

For the specific case of copying a subtree in the explorer pane arbitrary many times. This not only clones model elements, but also all diagrams inside that subtree. You can read here how this can be achieved by changing the contents of the .zargo project file outside of ArgoUML. Caution: the modified .zargo will not be supported by the ArgoUML development team. For this, you should load it in ArgoUML and save it then, so that the .zargo is eventually written by ArgoUML.

Preliminaries
The entity that will be cloned need to be represented in the .xmi file (inside the .zargo) as one XML node.

Steps to perform

 * 1) Unzip the .zargo project file.
 * 2) Open the .xmi file in a text or XML editor and identify the XMI node you want to clone (the whole XMI node from the beginning tag to the ending tag).
 * 3) Clone the XMI node as many times as needed in the same place (select, Ctrl-C, multiple Ctrl-V).
 * 4) Ensure unique xmi.id attributes in each cloned section by changing the values in all clones.
 * 5) Also, consider changing the values in the name attributes of the clones (maybe only in the top node, might not be critical but looks better in the explorer tree later).
 * 6) Save the .xmi file
 * 7) Identify all .pgml files of the diagrams inside the original XMI node (for each diagram in the subtree one .pgml file need to be found).
 * 8) Make a copy of these identified .pgml files and give them a unique name
 * 9) Edit those copies to let them refer to the right xmi.id attributes (those that were changed in step 4).
 * 10) Edit the .argo file: clone the pgml members associated with the identified .pgml files and let them refer the correct copies of the .pgml files.
 * 11) zip everything into the .zargo file again

If everything was done right, the modified .zargo can be opened in ArgoUML. The explorer pane will show multiple copies of the subtree: they are all siblings sitting in the same position inside the project tree.

Remarks / Additions
Step 4: In MDR, each xmi.id might contain 8000:000000000000, so it can just be counted up for each clone. Make sure to NOT change references to elements outside the XMI node!

Step 9: Again, make sure to NOT change references to elements outside the XMI node!