### Question:
XYImageAnnotation extends AbstractXYAnnotation implements Cloneable, PublicCloneable, Serializable { @Override public Object clone() throws CloneNotSupportedException { return super.clone(); } XYImageAnnotation(double x, double y, Image image);  XYImageAnnotation(double x, double y, Image image,
            RectangleAnchor anchor); double getX(); double getY(); Image getImage(); RectangleAnchor getImageAnchor(); @Override void draw(Graphics2D g2, XYPlot plot, Rectangle2D dataArea,
                     ValueAxis domainAxis, ValueAxis rangeAxis,
                     int rendererIndex,
                     PlotRenderingInfo info); @Override boolean equals(Object obj); @Override int hashCode(); @Override Object clone();  }### Answer:
@Test public void testCloning() throws CloneNotSupportedException { XYImageAnnotation a1 = new XYImageAnnotation(10.0, 20.0, getTestImage()); XYImageAnnotation a2 = (XYImageAnnotation) a1.clone(); assertNotSame(a1, a2); assertSame(a1.getClass(), a2.getClass()); assertEquals(a1, a2); }