static L lambdaMapLike lazyMap_bitSet(IF1 f, L l) { ret lazyMap_bitSet((O) f, l); } static L lazyMap_bitSet(fO f, fL l) { ret new RandomAccessAbstractList { final int size = l(l); new BitSet bitSet; new L data; public int size() { ret size; } public O get(int i) { if (bitSet.get(i)) ret data.get(i); bitSet.set(i); O o = callF(f, l.get(i)); listPut(data, i, o); ret o; } }; }