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