static IterableIterator iterableIterator(final Iterator it) { ret it == null ? null : new IterableIterator { public bool hasNext() { ret it.hasNext(); } public A next() { ret it.next(); } public void remove() { it.remove(); } }; } static IterableIterator iterableIterator(final Collection it) { ret iterableIterator(iterator(it)); }