### Question:
TickUnits implements TickUnitSource, Cloneable, Serializable { @Override public Object clone() throws CloneNotSupportedException { TickUnits clone = (TickUnits) super.clone(); clone.tickUnits = new java.util.ArrayList<TickUnit>(this.tickUnits); return clone; } TickUnits(); void add(TickUnit unit); int size(); TickUnit get(int pos); @Override TickUnit getLargerTickUnit(TickUnit unit); @Override TickUnit getCeilingTickUnit(TickUnit unit); @Override TickUnit getCeilingTickUnit(double size); @Override Object clone(); @Override boolean equals(Object obj);  }### Answer:
@Test public void testCloning() throws CloneNotSupportedException { TickUnits t1 = (TickUnits) NumberAxis.createIntegerTickUnits(); TickUnits t2 = (TickUnits) t1.clone(); assertNotSame(t1, t2); assertSame(t1.getClass(), t2.getClass()); assertEquals(t1, t2); }