@Test
public void testIteratorIndex() {

    IntegerUnion iu = new IntegerUnion(Arrays.asList(5, 10, 11, 12, 13, 45, 46));
    assertArrayEquals(new Integer[] {11, 12, 13, 45, 46}, iteratorToList(iu.listIterator(11)));
    assertArrayEquals(new Integer[] {12, 13, 45, 46}, iteratorToList(iu.listIterator(12)));
    assertArrayEquals(new Integer[] {13, 45, 46}, iteratorToList(iu.listIterator(13)));
    assertArrayEquals(new Integer[] {45, 46}, iteratorToList(iu.listIterator(20)));
    assertArrayEquals(new Integer[] {45, 46}, iteratorToList(iu.listIterator(44)));
    assertArrayEquals(new Integer[] {45, 46}, iteratorToList(iu.listIterator(45)));
    assertArrayEquals(new Integer[] {46}, iteratorToList(iu.listIterator(46)));
}