### Question:
MultiplePiePlot extends Plot implements Cloneable, Serializable { @Override public boolean equals(Object obj) { if (obj == this) { return true; } if (!(obj instanceof MultiplePiePlot)) { return false; } MultiplePiePlot that = (MultiplePiePlot) obj; if (this.dataExtractOrder != that.dataExtractOrder) { return false; } if (this.limit != that.limit) { return false; } if (!this.aggregatedItemsKey.equals(that.aggregatedItemsKey)) { return false; } if (!PaintUtilities.equal(this.aggregatedItemsPaint, that.aggregatedItemsPaint)) { return false; } if (!ObjectUtilities.equal(this.pieChart, that.pieChart)) { return false; } if (!ShapeUtilities.equal(this.legendItemShape, that.legendItemShape)) { return false; } if (!super.equals(obj)) { return false; } return true; } MultiplePiePlot();  MultiplePiePlot(CategoryDataset dataset); CategoryDataset getDataset(); void setDataset(CategoryDataset dataset); JFreeChart getPieChart(); void setPieChart(JFreeChart pieChart); TableOrder getDataExtractOrder(); void setDataExtractOrder(TableOrder order); double getLimit(); void setLimit(double limit); Comparable getAggregatedItemsKey(); void setAggregatedItemsKey(Comparable key); Paint getAggregatedItemsPaint(); void setAggregatedItemsPaint(Paint paint); @Override String getPlotType(); Shape getLegendItemShape(); void setLegendItemShape(Shape shape); @Override void draw(Graphics2D g2,
                     Rectangle2D area,
                     Point2D anchor,
                     PlotState parentState,
                     PlotRenderingInfo info); @Override List<LegendItem> getLegendItems(); @Override boolean equals(Object obj); @Override Object clone();  }### Answer:
@Test public void testEquals() { MultiplePiePlot p1 = new MultiplePiePlot(); MultiplePiePlot p2 = new MultiplePiePlot(); assertEquals(p1, p2); assertEquals(p2, p1); p1.setDataExtractOrder(TableOrder.BY_ROW); assertFalse(p1.equals(p2)); p2.setDataExtractOrder(TableOrder.BY_ROW); assertEquals(p1, p2); p1.setLimit(1.23); assertFalse(p1.equals(p2)); p2.setLimit(1.23); assertEquals(p1, p2); p1.setAggregatedItemsKey("Aggregated Items"); assertFalse(p1.equals(p2)); p2.setAggregatedItemsKey("Aggregated Items"); assertEquals(p1, p2); p1.setAggregatedItemsPaint(new GradientPaint(1.0f, 2.0f, Color.RED, 3.0f, 4.0f, Color.yellow)); assertFalse(p1.equals(p2)); p2.setAggregatedItemsPaint(new GradientPaint(1.0f, 2.0f, Color.RED, 3.0f, 4.0f, Color.yellow)); assertEquals(p1, p2); p1.setPieChart(ChartFactory.createPieChart("Title", null)); assertFalse(p1.equals(p2)); p2.setPieChart(ChartFactory.createPieChart("Title", null)); assertEquals(p1, p2); p1.setLegendItemShape(new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0)); assertFalse(p1.equals(p2)); p2.setLegendItemShape(new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0)); assertEquals(p1, p2); }