// This file is automatically generated by Demeter/Java. CopyVisitor { (@ private java.util.Stack history = new java.util.Stack(); public CopyVisitor(Class firstClass) { try { history.push(firstClass.newInstance()); } catch(Exception e) { e.printStackTrace(); } } @) get copy (@ return history.peek(); @) return Object (@ get_copy() @) before -> A, b, B (@ A it = (A) history.peek(); B p = new B(); it.set_b(p); history.push(p); @) after -> A, b, B (@ history.pop(); @) before -> A, e, E (@ A it = (A) history.peek(); E p = new E(); it.set_e(p); history.push(p); @) after -> A, e, E (@ history.pop(); @) before -> B, d, D (@ B it = (B) history.peek(); D p = new D(); it.set_d(p); history.push(p); @) after -> B, d, D (@ history.pop(); @) before -> B, e, E (@ B it = (B) history.peek(); E p = new E(); it.set_e(p); history.push(p); @) after -> B, e, E (@ history.pop(); @) before -> B, x, X (@ B it = (B) history.peek(); X p = new X(); it.set_x(p); history.push(p); @) after -> B, x, X (@ history.pop(); @) before -> D, c, C (@ D it = (D) history.peek(); C p = new C(); it.set_c(p); history.push(p); @) after -> D, c, C (@ history.pop(); @) before -> E, c, C (@ E it = (E) history.peek(); C p = new C(); it.set_c(p); history.push(p); @) after -> E, c, C (@ history.pop(); @) before -> X, c, C (@ X it = (X) history.peek(); C p = new C(); it.set_c(p); history.push(p); @) after -> X, c, C (@ history.pop(); @) before -> PrintVisitor, indent, int (@ PrintVisitor it = (PrintVisitor) history.peek(); it.set_indent(dest); @) before -> PrintVisitor, needSpace, boolean (@ PrintVisitor it = (PrintVisitor) history.peek(); it.set_needSpace(dest); @) before -> EqualVisitor, is_equal, boolean (@ EqualVisitor it = (EqualVisitor) history.peek(); it.set_is_equal(dest); @) before -> DisplayVisitor, indent, int (@ DisplayVisitor it = (DisplayVisitor) history.peek(); it.set_indent(dest); @) before -> TraceVisitor, indent, int (@ TraceVisitor it = (TraceVisitor) history.peek(); it.set_indent(dest); @) }