### Question:
MiddlePinNeedle extends MeterNeedle implements Cloneable, Serializable { @Override public Object clone() throws CloneNotSupportedException { return super.clone(); }  @Override boolean equals(Object object); @Override int hashCode(); @Override Object clone();  }### Answer:
@Test public void testCloning() throws CloneNotSupportedException { MiddlePinNeedle n1 = new MiddlePinNeedle(); MiddlePinNeedle n2 = (MiddlePinNeedle) n1.clone(); assertNotSame(n1, n2); assertSame(n1.getClass(), n2.getClass()); assertEquals(n1, n2); }