Hello, I've got a big object that holds references to other objects which, in turn, hold references to other objects, which..... Now I change this object, but need a possibility to revert the change. This could be achieved by deep-copying the object, but that's too expensive (changes are mostly minor and 99% copy operations will be redundant). Is there any simple solution to this, employing the copy-on-write principle? -- be9