### Question:
LegendItemEntity extends ChartEntity implements Cloneable, Serializable { @Override public boolean equals(Object obj) { if (obj == this) { return true; } if (!(obj instanceof LegendItemEntity)) { return false; } LegendItemEntity that = (LegendItemEntity) obj; if (!ObjectUtils.equal(this.seriesKey, that.seriesKey)) { return false; } if (this.seriesIndex != that.seriesIndex) { return false; } if (!ObjectUtils.equal(this.dataset, that.dataset)) { return false; } return super.equals(obj); } LegendItemEntity(Shape area); Dataset getDataset(); void setDataset(Dataset dataset); Comparable getSeriesKey(); void setSeriesKey(Comparable key); @Override boolean equals(Object obj); @Override Object clone(); @Override String toString();  }### Answer:
@Test public void testEquals() { LegendItemEntity e1 = new LegendItemEntity(new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0)); LegendItemEntity e2 = new LegendItemEntity(new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0)); assertEquals(e1, e2); e1.setArea(new Rectangle2D.Double(4.0, 3.0, 2.0, 1.0)); assertFalse(e1.equals(e2)); e2.setArea(new Rectangle2D.Double(4.0, 3.0, 2.0, 1.0)); assertEquals(e1, e2); e1.setToolTipText("New ToolTip"); assertFalse(e1.equals(e2)); e2.setToolTipText("New ToolTip"); assertEquals(e1, e2); e1.setURLText("New URL"); assertFalse(e1.equals(e2)); e2.setURLText("New URL"); assertEquals(e1, e2); e1.setDataset(new DefaultCategoryDataset()); assertFalse(e1.equals(e2)); e2.setDataset(new DefaultCategoryDataset()); assertEquals(e1, e2); e1.setSeriesKey("A"); assertFalse(e1.equals(e2)); e2.setSeriesKey("A"); assertEquals(e1, e2); }