gen.writeFieldName(subsection); // "sectionName":
gen.writeStartArray(); // [
lastSection = subsection;
}
boolean isOverridden = (Boolean)(en.getMethod("isOverridden")).invoke(v);
gen.writeStartObject(); // {
gen.writeStringField(key,valueAsString); // "key": "value"
gen.writeStringField("description", valueDescription); // ,"description":"description"
gen.writeStringField("type",type.getSimpleName()); // ,"type":"type"
gen.writeBooleanField("editable",isEditable); // ,"editable":"true|false"
gen.writeBooleanField("visible",isVisible); // ,"visible":"true|false"