for (int i = 0; i < fields.size(); i++) {
targetedFieldNames[i] = fields.get(i).getName();
}
filters.addFilter("PropertyFilter", SimpleBeanPropertyFilter.filterOutAllExcept(targetedFieldNames));
ObjectWriter objectWriter = objectMapper.writer(filters);
String json = objectWriter.writeValueAsString(entity);
List<java.lang.reflect.Field> referencedEntities = ClassUtil.getAnnotatedFields(entity, Reference.class);
for (java.lang.reflect.Field field : referencedEntities) {
Cascade[] cascades = ClassUtil.getFieldAnnotationValue("cascade", field, Reference.class, Cascade[].class);