protected void writeModelWithinObject(WriteContext context, ApiMetadata m, JsonWriter w, MApiModel model) {
if(!model.hasBaseModel()) {
w.property(TYPE, OBJECT);
}
if(model.isEntity()) {
w.property(X_ENTITY, true);
}
writeExtension(w, model.getExtension());
w.propertyOptional(TITLE, model.getTitle());
w.propertyOptional(SUMMARY, model.getSummary());
w.propertyOptional(DESCRIPTION, model.getDescription());
if(!model.hasBaseModel()) {
writeModelProperties(context, m, w, model);
}else{
w.property(ALL_OF, () -> {
w.startArray();
w.startObject()
.property(REF, ref(model.getBaseName()))
.endObject();
w.separator();
w.startObject()
.property(TYPE, OBJECT);
writeModelProperties(context, m, w, model);
w.endObject();
w.endArray();
});
}
}