static IterableIterator navigableMultiMapValuesIterator(final MultiMap mm) { ret iteratorFromFunction(new F0() { Iterator> it = concurrentlyIterateValues((NavigableMap) mm.data); Iterator it2; public B get() { while (it2 == null || !it2.hasNext()) { if (!it.hasNext()) null; it2 = concurrentlyIterateList(it.next()); } ret it2.next(); } }); }