Java Finite-state-machine Resources