no se bien, pero supongo q utilizando las estrucutras de datos
existentes en java podrias hacer q se puedan ingresar en tiempo
de ejecucion nuevos nodos al programa y darle asi los respectivos
estados con los q se podria pasar a este nodo y etc.
posiblemente las listas te sirvan...