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 prependEmptyIterator() {
        var actual = IterableUtil.prepend(1, Collections.emptyIterator());
        assertIteratorsEquals(List.of(1), actual);
    }