Queue<ArrayList<Pair<State, Float>>> queue = new LinkedList<ArrayList<Pair<State, Float>>>();
HashMap<String, State> stateMapper = new HashMap<String, State>();
State s = new State(semiring.zero());
String stateString = "(" + fst.getStart() + "," + semiring.one() + ")";
queue.add(new ArrayList<Pair<State, Float>>());
queue.peek().add(new Pair<State, Float>(fst.getStart(), semiring.one()));
res.addState(s);
stateMapper.put(stateString, s);
res.setStart(s);