// iterate safely (& quickly) in the face of concurrent modifications
static IterableIterator concurrentlyIterateList(final L l) {
ret iteratorFromFunction_withEndMarker_f0(new F0() {
int i;
A get() {
int _i = i++;
synchronized(l) {
ret _i < l(l) ? l.get(i) : (A) iteratorFromFunction_endMarker; // ugly cast
}
}
});
}