public static <T> Iterator<T> prepend(T prepend, @Nonnull Iterator<? extends T> iterator) {
        checkNotNull(iterator, "iterator cannot be null.");
        return new PrependIterator<>(prepend, iterator);
    }
@Test
    public void prepend() {
        List<Integer> list = List.of(1, 2, 3);
        var actual = IterableUtil.prepend(0, list.iterator());
        assertIteratorsEquals(List.of(0, 1, 2, 3), actual);
    }