public void ingestSentence(String example) { String[] words = example.split(" "); FSANode curNode = start; FSANode nextNode; for (String word : words) { nextNode = curNode.nextNode(word); if (nextNode == null) { nextNode = new FSANode(nodeCount++); nodes.add(nextNode); FSAEdge edge = new FSAEdge(curNode, nextNode, word); curNode.addEdge(edge); nextNode.addEdge(edge); } curNode = nextNode; } finalNodes.add(curNode); curNode.setAccepting(true); }