CertainlyCloneable implements Cloneable { @Override public Object clone() { try{ return callParentClone(); } catch (CloneNotSupportedException e) { throw new Error(e); } }  @Override Object clone();  }
@Test public void testSimple() { try{ Foo f = new Foo(); f.clone(); fail("Control should not get here"); } catch (Error e) { assertEquals("Foo", e.getCause().getMessage()); } }