@Override
    public ZonedDateTime next() {
        if (!hasNext()) {
            throw new NoSuchElementException();
        }
        if (cursor == null) {
            cursor = start;
        } else {
            cursor = cursor.plusDays(increment);
        }
        return cursor;
    }
@Test
    void nextDescendantTest() {
        List<ZonedDateTime> expected = Arrays.asList(getZonedDateTime(2021, 1, 3, 10, 15),
                getZonedDateTime(2021, 1, 2, 10, 15),
                getZonedDateTime(2021, 1, 1, 10, 15));
        ZonedDateTimeRangeIterator iterator = new ZonedDateTimeRangeIterator(after, before);
        IntStream.range(0, 3).forEach(i -> assertEquals(expected.get(i), iterator.next()));
    }