@Override
    public Object getSrcFieldValue(Object srcObj) {
        DozerPropertyDescriptor propDescriptor;
        Object targetObject = srcObj;

        if (getSrcFieldName().equals(DozerConstants.SELF_KEYWORD)) {
            propDescriptor = super.getSrcPropertyDescriptor(srcObj.getClass());
        } else {
            Class<?> actualType = determineActualPropertyType(getSrcFieldName(), isSrcFieldIndexed(), getSrcFieldIndex(), srcObj, false);
            if ((getSrcFieldMapGetMethod() != null)
                || (this.getMapId() == null && MappingUtils.isSupportedMap(actualType) && getSrcHintContainer() == null)) {
                // Need to dig out actual map object by using getter on the field. Use actual map object to get the field value
                targetObject = super.getSrcFieldValue(srcObj);

                String setMethod = MappingUtils.isSupportedMap(actualType) ? "put" : getSrcFieldMapSetMethod();
                String getMethod = MappingUtils.isSupportedMap(actualType) ? "get" : getSrcFieldMapGetMethod();
                String key = getSrcFieldKey() != null ? getSrcFieldKey() : getDestFieldName();

                propDescriptor = new MapPropertyDescriptor(actualType, getSrcFieldName(), isSrcFieldIndexed(), getDestFieldIndex(),
                                                           setMethod, getMethod, key, getSrcDeepIndexHintContainer(), getDestDeepIndexHintContainer(), beanContainer,
                                                           destBeanCreator);
            } else {
                propDescriptor = super.getSrcPropertyDescriptor(srcObj.getClass());
            }
        }

        Object result = null;
        if (targetObject != null) {
            result = propDescriptor.getPropertyValue(targetObject);
        }

        return result;

    }
Only intended for internal use. Handles field mapping involving Map Backed properties. Map backed property support
includes top level class Map data type, field level Map data type, and custom Map backed objects that provide custom
map-get/set methods.
core/src/main/java/com/github/dozermapper/core/fieldmap/MapFieldMap.java