// init fields and properties
LinkedHashMap<String, Field> fields = new LinkedHashMap<String, Field>();
fields.put(SelfField.DEFAULT_NAME, new SelfField(cls));
fields.putAll(collectFields(cls));
fields.putAll(collectProperties(cls));
fields.put("verbose", new ModelProperty("getVerbose", String.class, map("verbose", manager.getName())));
Field pkField = getPrimaryKey(fields);
if (pkField == null) {
manager.addField("id", new PrimaryKey());
}
for (String fieldName : fields.keySet()) {