1 package org.xpilot.jxpmap; 2 3 import java.util.Map; 4 5 public class ModelObject implements Cloneable, java.io.Serializable { deepClone(Map context)6 public Object deepClone (Map context) { 7 Object clone = context.get(this); 8 if (clone == null) { 9 clone = clone(); 10 context.put(this, clone); 11 } 12 return clone; 13 } 14 clone()15 public Object clone () { 16 try { 17 return super.clone(); 18 } catch (CloneNotSupportedException e) { 19 e.printStackTrace(); 20 throw new RuntimeException("cloning failed"); 21 } 22 } 23 } 24