def parse(o, feature_uri='unknown.json', line_offset=0)
o = JSON.parse(o) if String === o
@formatter.uri(feature_uri)
Formatter::Model::Feature.new(comments(o), tags(o), keyword(o), name(o), description(o), line(o)).replay(@formatter)
(o["elements"] || []).each do |feature_element|
feature_element(feature_element).replay(@formatter)
(feature_element["steps"] || []).each do |step|
step(step).replay(@formatter)
end
(feature_element["examples"] || []).each do |eo|
Formatter::Model::Examples.new(comments(eo), tags(eo), keyword(eo), name(eo), description(eo), line(eo), rows(eo['rows'])).replay(@formatter)
end
end
@formatter.eof
end