### Question:
IntervalXYDelegate implements DatasetChangeListener,
        DomainInfo, Serializable, Cloneable, PublicCloneable { @Override public boolean equals(Object obj) { if (obj == this) { return true; } if (!(obj instanceof IntervalXYDelegate)) { return false; } IntervalXYDelegate that = (IntervalXYDelegate) obj; if (this.autoWidth != that.autoWidth) { return false; } if (this.intervalPositionFactor != that.intervalPositionFactor) { return false; } if (this.fixedIntervalWidth != that.fixedIntervalWidth) { return false; } return true; } IntervalXYDelegate(XYDataset dataset);  IntervalXYDelegate(XYDataset dataset, boolean autoWidth); boolean isAutoWidth(); void setAutoWidth(boolean b); double getIntervalPositionFactor(); void setIntervalPositionFactor(double d); double getFixedIntervalWidth(); void setFixedIntervalWidth(double w); double getIntervalWidth(); Number getStartX(int series, int item); double getStartXValue(int series, int item); Number getEndX(int series, int item); double getEndXValue(int series, int item); @Override double getDomainLowerBound(boolean includeInterval); @Override double getDomainUpperBound(boolean includeInterval); @Override Range getDomainBounds(boolean includeInterval); @Override void datasetChanged(DatasetChangeEvent e); @Override boolean equals(Object obj); @Override Object clone(); @Override int hashCode();  }### Answer:
@Test public void testEquals() { XYSeries s1 = new XYSeries("Series"); s1.add(1.2, 3.4); XYSeriesCollection c1 = new XYSeriesCollection(); c1.addSeries(s1); IntervalXYDelegate d1 = new IntervalXYDelegate(c1); XYSeries s2 = new XYSeries("Series"); XYSeriesCollection c2 = new XYSeriesCollection(); s2.add(1.2, 3.4); c2.addSeries(s2); IntervalXYDelegate d2 = new IntervalXYDelegate(c2); assertEquals(d1, d2); assertEquals(d2, d1); d1.setAutoWidth(false); assertFalse(d1.equals(d2)); d2.setAutoWidth(false); assertEquals(d1, d2); d1.setIntervalPositionFactor(0.123); assertFalse(d1.equals(d2)); d2.setIntervalPositionFactor(0.123); assertEquals(d1, d2); d1.setFixedIntervalWidth(1.23); assertFalse(d1.equals(d2)); d2.setFixedIntervalWidth(1.23); assertEquals(d1, d2); }