### Question:
TimeTableXYDataset extends AbstractIntervalXYDataset implements Cloneable, PublicCloneable, IntervalXYDataset, DomainInfo,
                   TableXYDataset { @Override public Object clone() throws CloneNotSupportedException { TimeTableXYDataset clone = (TimeTableXYDataset) super.clone(); clone.values = (DefaultKeyedValues2D) this.values.clone(); clone.workingCalendar = (Calendar) this.workingCalendar.clone(); return clone; } TimeTableXYDataset();  TimeTableXYDataset(TimeZone zone);  TimeTableXYDataset(TimeZone zone, Locale locale); boolean getDomainIsPointsInTime(); void setDomainIsPointsInTime(boolean flag); TimePeriodAnchor getXPosition(); void setXPosition(TimePeriodAnchor anchor); void add(TimePeriod period, double y, Comparable seriesName); void add(TimePeriod period, Number y, Comparable seriesName,
                    boolean notify); void remove(TimePeriod period, Comparable seriesName); void remove(TimePeriod period, Comparable seriesName,
            boolean notify); void clear(); TimePeriod getTimePeriod(int item); @Override int getItemCount(); @Override int getItemCount(int series); @Override int getSeriesCount(); @Override Comparable getSeriesKey(int series); @Override Number getX(int series, int item); @Override double getXValue(int series, int item); @Override Number getStartX(int series, int item); @Override double getStartXValue(int series, int item); @Override Number getEndX(int series, int item); @Override double getEndXValue(int series, int item); @Override Number getY(int series, int item); @Override Number getStartY(int series, int item); @Override Number getEndY(int series, int item); @Override double getDomainLowerBound(boolean includeInterval); @Override double getDomainUpperBound(boolean includeInterval); @Override Range getDomainBounds(boolean includeInterval); @Override boolean equals(Object obj); @Override Object clone();  }### Answer:
@Test public void testClone() throws CloneNotSupportedException { TimeTableXYDataset d = new TimeTableXYDataset(); d.add(new Year(1999), 25.0, "Series"); TimeTableXYDataset clone = (TimeTableXYDataset) d.clone(); assertEquals(clone, d); clone.add(new Year(2004), 1.2, "SS"); assertFalse(clone.equals(d)); }