//load the current state
c.iload(CURRENT_STATE_VAR);
//switch on the current state
TableSwitchBuilder builder = new TableSwitchBuilder(-2, noStates);
final IdentityHashMap<State, AtomicReference<BranchEnd>> ends = new IdentityHashMap<State, AtomicReference<BranchEnd>>();
final AtomicReference<BranchEnd> prefixMatch = builder.add();
final AtomicReference<BranchEnd> noState = builder.add();
ends.put(initial, builder.add());
for (final State s : states) {
if (s.stateno > 0) {
ends.put(s, builder.add());
}
}
c.tableswitch(builder);
stateNotFound(c, builder);