*/
private LinkedList<State> getPath(State start, CharSequence string) {
LinkedList<State> path = new LinkedList<State>();
State state = start;
for (int i=0; i<string.length(); i++) {
state = state.step(string.charAt(i));
if (state == null)
return null;
path.add(state);
}
return path;