sclass PerfectTokenList extends AbstractList { LogNArray list = new LogNArray; new MultiMap index; sclass Token { Token prev, next; S text; } sS text(Token t) { ret t == null ? null : t.text; } public S get(int i) { ret text(list.get(i)); } public int size() { ret l(list); } }