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 prependNullToEmptyIterator() {
        var actual = IterableUtil.prepend(null, Collections.emptyIterator());
        assertIteratorsEquals(Collections.emptyList(), actual);
    }