public void parse(String src) {
List<Map> featureHashes = gson.fromJson(new StringReader(src), List.class);
for (Map o : featureHashes) {
formatter.uri(getString(o, "uri"));
new Feature(comments(o), tags(o), keyword(o), name(o), description(o), line(o), id(o)).replay(formatter);
for (Map featureElement : (List<Map>) getList(o, "elements")) {
featureElement(featureElement).replay(formatter);
for (Map hook : (List<Map>) getList(featureElement, "before")) {
before(hook);
}
for (Map step : (List<Map>) getList(featureElement, "steps")) {
step(step);
}
for (Map hook : (List<Map>) getList(featureElement, "after")) {
after(hook);
}
for (Map eo : (List<Map>) getList(featureElement, "examples")) {
new Examples(comments(eo), tags(eo), keyword(eo), name(eo), description(eo), line(eo), id(eo), examplesTableRows(getList(eo, "rows"))).replay(formatter);
}
}
formatter.eof();
}
}