private Class<?> determineActualPropertyType(String fieldName, boolean isIndexed, int index, Object targetObj, boolean isDestObj) {
        // Dig out actual Map object by calling getter on top level object
        DozerPropertyDescriptor pd;
        if ((isDestObj && isDestFieldAccessible()) || (!isDestObj && isSrcFieldAccessible())) {
            pd = new FieldPropertyDescriptor(targetObj.getClass(), fieldName, isIndexed, index, getSrcDeepIndexHintContainer(),
                                             getDestDeepIndexHintContainer(), destBeanCreator);
        } else {
            pd = new JavaBeanPropertyDescriptor(targetObj.getClass(), fieldName, isIndexed, index, getSrcDeepIndexHintContainer(),
                                                getDestDeepIndexHintContainer(), beanContainer, destBeanCreator);
        }

        return pd.getPropertyType();
    }
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