### Question:
TimeSpanList extends AbstractList<TimeSpan> implements Serializable { public static TimeSpanList emptyList() { return EMPTY_LIST; }  static TimeSpanList emptyList(); static void mergeOverlaps(final List<TimeSpan> list); static void mergeOverlaps(final List<TimeSpan> list, boolean mergeTouching); static TimeSpanList singleton(TimeSpan obj); abstract TimeSpanList clone(Collection<? extends TimeSpan> spans); boolean covers(TimeSpan other); boolean covers(TimeSpanList other); TimeSpan getExtent(); abstract TimeSpanList intersection(TimeSpan ts); abstract TimeSpanList intersection(TimeSpanList other); boolean intersects(TimeSpan timeSpan); abstract TimeSpanList union(TimeSpan ts); abstract TimeSpanList union(TimeSpanList other); static final TimeSpanList TIMELESS; }### Answer:
@Test public void testEmptyList() { TimeSpanList emptyList = TimeSpanList.emptyList(); Assert.assertTrue(emptyList.isEmpty()); testImmutable(emptyList); Assert.assertSame(TimeSpan.ZERO, emptyList.getExtent()); }