public static ArrayList<State> findValidTargetState(State state, String name, boolean fuzzy) {
   ArrayList<State> result = new ArrayList<State>();
   for (State t : allValidTargetStates(state)) {
     if (t.getName().startsWith(name)) {
       if (fuzzy) result.add(t);
       else if (t.getName().equals(name)) result.add(t);
     }
   }
   return result;
 }