public void serialize(SqlSession sql, JsonGenerator jg) throws JsonGenerationException, IOException, IllegalTypeException { Map<String, GroupBean> sortedGroups = GroupsIE.getSortedGroups(sql, groupResolver); GroupsMapper mapper = sql.getMapper(GroupsMapper.class); jg.writeStartArray(); for (Map.Entry<String, GroupBean> entry : sortedGroups.entrySet()) { List<GroupElementBean> members = mapper.getMembers(entry.getValue().getId()); jg.writeStartObject(); jg.writeStringField("groupPath", entry.getKey()); jg.writeFieldName("members"); jg.writeStartArray(); for (GroupElementBean member : members) { jg.writeStartObject(); jg.writeNumberField("entity", member.getElementId()); jg.writeNumberField("groupId", member.getGroupId()); jg.writeBinaryField("contents", member.getContents()); jg.writeEndObject(); } jg.writeEndArray(); jg.writeEndObject(); } jg.writeEndArray(); }