docs: public static <E> CloseableIterator<E> iterator(Iterator<? extends E> iterator) {
        if (iterator instanceof CloseableIterator) {
           return (CloseableIterator<E>) iterator;
        }
        return new IteratorAsCloseableIterator<>(iterator);
     }