Finite State Machine Java