final public ArrayList<String> OptionalFields() throws ParseException {Token fieldName;ArrayList<String> fieldNames = null;label_1:while (true) {if (jj_2_1(2)) {;} else {break label_1;}fieldName = jj_consume_token(TERM);jj_consume_token(COLON);if (fieldNames == null) {fieldNames = new ArrayList<String>();}fieldNames.add(fieldName.image);}{if (true) return fieldNames;}throw new Error("Missing return statement in function");}

public IList<string> OptionalFields(){Token fieldName;IList<string> fieldNames = null;while (true){if (Jj_2_1(2)){;}else{goto label_1;}fieldName = Jj_consume_token(RegexpToken.TERM);Jj_consume_token(RegexpToken.COLON);if (fieldNames == null){fieldNames = new List<string>();}fieldNames.Add(fieldName.Image);}label_1:{ if (true) return fieldNames; }throw new Exception("Missing return statement in function");}
