import java.util.*; public class Foo { public static void main (String args[]) { Gate g = new AndGate("one"); Gate g2 = (Gate) g.clone(); System.out.println(g); System.out.println(g2); Foo f= new Foo(); Foo g3 = (Foo) f.clone(); ArrayList a = new ArrayList(); /// Foo o = (Foo) a.get(3); Object o2 = o.clone(); // Object o = ( (Cloneable) a.get(3)).clone(); } public Object clone() { return null; } }