### Question:
AxisSpace implements Cloneable, PublicCloneable, Serializable { @Override public Object clone() throws CloneNotSupportedException { return super.clone(); } AxisSpace(); double getTop(); void setTop(double space); double getBottom(); void setBottom(double space); double getLeft(); void setLeft(double space); double getRight(); void setRight(double space); void add(double space, RectangleEdge edge); void ensureAtLeast(AxisSpace space); void ensureAtLeast(double space, RectangleEdge edge); Rectangle2D shrink(Rectangle2D area, Rectangle2D result); Rectangle2D expand(Rectangle2D area, Rectangle2D result); Rectangle2D reserved(Rectangle2D area, RectangleEdge edge); @Override Object clone(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testCloning() throws CloneNotSupportedException { AxisSpace s1 = new AxisSpace(); AxisSpace s2 = (AxisSpace) s1.clone(); assertNotSame(s1, s2); assertSame(s1.getClass(), s2.getClass()); assertEquals(s1, s2); }