I am a proxy that uses the same ObjectDumper
to store an object which is not the object to be dumped, but from which the
dumped object can be reconstructed. I am an abstract class, using me would
result in infinite loops because by default I try to store the same object
again and again. See the method comments for more information