static L lazyReversed(L l) { ret new RandomAccessAbstractList { final int size = l(l); public int size() { ret l.size(); } public A get(int i) { ret l.get(size()-1-i); } public A set(int i, A a) { ret l.set(size()-1-i, a); } }; }