if (access == null && prop.getMetaBean() != null) { // single property access strategy
// save old values from context
final Object bean = context.getBean();
final MetaBean mbean = context.getMetaBean();
// modify context state for relationship-target bean
context.moveDown(prop, new PropertyAccess(bean.getClass(), prop.getName()));
ValidationHelper.validateContext(context, new BeanValidatorCallback(context), treatMapsLikeBeans);
// restore old values in context
context.moveUp(bean, mbean);
} else if (access != null) { // different accesses to relation
// save old values from context