BNFState state = null;
if (terminal) {
state = new BNFStateTerminal();
} else if (ss.equals("Number")) {
state = new BNFStateNumber();
} else if (ss.equals("QuotedString")) {
state = new BNFStateQuotedString();
} else if (ss.equals("Empty")) {
state = new BNFStateEmpty();
} else {