public void setPropertyValue(Object bean, Object value, FieldMap fieldMap) {
        Object intermediateResult = bean;
        for (int i = 0; i < descriptorChain.length; i++) {
            DozerPropertyDescriptor descriptor = descriptorChain[i];
            if (i != descriptorChain.length - 1) {
                Object currentValue = descriptor.getPropertyValue(intermediateResult);
                if (currentValue == null) {
                    currentValue = destBeanCreator.create(descriptor.getPropertyType());
                    descriptor.setPropertyValue(intermediateResult, currentValue, fieldMap);
                }
                intermediateResult = currentValue;
            } else { // last one
                descriptor.setPropertyValue(intermediateResult, value, fieldMap);
            }
        }
    }
Internal class that directly accesses the field via reflection. The getter/setter methods for the field are bypassed
and will NOT be invoked. Private fields are accessible by Dozer. Only intended for internal use.
core/src/main/java/com/github/dozermapper/core/propertydescriptor/FieldPropertyDescriptor.java