title: What is the best way to implement a FSA/FSM in Java
body: <p>I have a big finite state automaton with like 50 states and each state has avg. 3-4 transitions to other states. So I don't think the "state pattern" is suitable for this. This FSM tends to be a spellchecker and morphological analyzer for some agglutinative language.</p>
  
  <p>What is the best way to implement a FSA/FSM in Java or should I use an open source library. Since natural languages are not regular (have exception cases), is there a way to make this implementation flexible for such situations.</p>
  
  <p>Thanks</p>