text: 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");}