1 is threadlocal.get costly? if so maybe make an FSTReader? would hold this "relative" pos, and each thread'd use it for reading, instead of PosRef
3 maybe changed Outputs class to "reuse" stuff? eg this new BytesRef in ByteSequenceOutputs..
5 do i even "need" both non_final_end_state and final_end_state?
7 hmm -- can I get weights working here?
9 can FST be used to index all internal substrings, mapping to term?
10 - maybe put back ability to add multiple outputs per input...?
12 make this work w/ char...?
13 - then FSTCharFilter/FSTTokenFilter
16 experiment: try reversing terms before compressing -- how much smaller?
18 maybe seprate out a 'writable/growing fst' from a read-only one?
20 can we somehow [partially] tableize lookups like oal.util.automaton?
22 make an FST terms index option for codecs...?
26 need a benchmark testing FST traversal -- just fix the static main to rewind & visit all terms
30 when writing FST to disk:
31 - Sequentially writing (would save memory in codec during indexing). We are now using DataOutput, which could also go directly to disk
32 - problem: size of BytesRef must be known before
35 - maybe don't require FSTEnum.advance to be forward only?
36 - should i make a posIntOutputs separate from posLongOutputs?
37 - mv randomAccpetedWord / run / etc. from test into FST?
38 - hmm get multi-outputs working again? do we ever need this?