sclass mapI_closeable_It extends CloseableIterableIterator { O f; CloseableIterableIterator i; *() {} *(O *f, CloseableIterableIterator *i) {} public bool hasNext() { ret i.hasNext(); } public O next() { ret callF(f, i.next()); } toString { ret formatFunctionCall('mapI_closeable, f, i); } public void close() throws Exception { i.close(); } } static CloseableIterableIterator mapLike mapI_closeable(final O f, final CloseableIterableIterator i) { ret mapI_closeable_It(f, i); }