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 prependNullIterator() {
        assertThatThrownBy(() -> IterableUtil.prepend(null, null))
                .isInstanceOf(NullPointerException.class)
                .hasMessage("iterator cannot be null.");
    }