private void expandFields(Collection<Field> expandableFields, Object entity, ExpandParameter expandParameter, EntityExpanderResolver expanderResolver) {
for (Field field : expandableFields) {
final Expandable expandable = getExpandable(field);
if (expandParameter.shouldExpand(expandable) && expanderResolver.hasExpander(field.getType())) {
final EntityExpander<Object> entityExpander = expanderResolver.getExpander(field.getType());
final ExpandContext<Object> context = new DefaultExpandContext<Object>(getFieldValue(field, entity), expandable, expandParameter);
setFieldValue(field, entity, entityExpander.expand(context, expanderResolver, this));
}
}
}