}
// Follow along each transition:
for (Iterator iter = inputs.iterator(); iter.hasNext();) {
Object predictSpace = iter.next();
DFSATransition transition = tSource.transition(predictSpace);
DFSAState tDest = transition.target();
DFSAState newASource = aSource;
//System.err.printf("tsource=%s tdest=%s asource=%s pos=%d predictSpace=%s\n", tSource, tDest, newASource, pos, predictSpace);
StringBuilder newAnswer = new StringBuilder(answer.toString());
int answerLen = newAnswer.length();
String prevChr = (answerLen > 0) ? newAnswer.substring(answerLen-1) : null;