Get a copy of a large (160000+ internal object tree) object
<p>Ok, I have a set of very large, identical, trees cached in memory (to be populated with non-identical data [they contain information about stuff inside each node]).</p>

<p>I want to copy a single instance of the tree, and populate each copy with a seperate set of data.</p>

<p>However, at the moment, the cached 'blank' copy of the tree is not being copied, but simply referenced and filled with every single set of data.</p>

<p>How can I force the method that gets the cached blank tree to return a copy of the object, instead of a reference?</p>
