### Question:
DefaultDrawingSupplier implements DrawingSupplier, Cloneable,
        PublicCloneable, Serializable { @Override public Object clone() throws CloneNotSupportedException { DefaultDrawingSupplier clone = (DefaultDrawingSupplier) super.clone(); return clone; } DefaultDrawingSupplier();  DefaultDrawingSupplier(Paint[] paintSequence, 
            Paint[] outlinePaintSequence, Stroke[] strokeSequence,
            Stroke[] outlineStrokeSequence, Shape[] shapeSequence);  DefaultDrawingSupplier(Paint[] paintSequence,
            Paint[] fillPaintSequence, Paint[] outlinePaintSequence,
            Stroke[] strokeSequence, Stroke[] outlineStrokeSequence,
            Shape[] shapeSequence); @Override Paint getNextPaint(); @Override Paint getNextOutlinePaint(); @Override Paint getNextFillPaint(); @Override Stroke getNextStroke(); @Override Stroke getNextOutlineStroke(); @Override Shape getNextShape(); static Shape[] createStandardSeriesShapes(); @Override boolean equals(Object obj); @Override Object clone(); static final Paint[] DEFAULT_PAINT_SEQUENCE; static final Paint[] DEFAULT_OUTLINE_PAINT_SEQUENCE; static final Paint[] DEFAULT_FILL_PAINT_SEQUENCE; static final Stroke[] DEFAULT_STROKE_SEQUENCE; static final Stroke[] DEFAULT_OUTLINE_STROKE_SEQUENCE; static final Shape[] DEFAULT_SHAPE_SEQUENCE; }### Answer:
@Test public void testCloning() throws CloneNotSupportedException { DefaultDrawingSupplier r1 = new DefaultDrawingSupplier(); DefaultDrawingSupplier r2 = (DefaultDrawingSupplier) r1.clone(); assertNotSame(r1, r2); assertSame(r1.getClass(), r2.getClass()); assertEquals(r1, r2); }