@Override
    protected Method getReadMethod() {
        if (MappingUtils.isBlankOrNull(getMethodName)) {
            throw new MappingException("Custom Map get method not specified for field mapping to class: " + clazz
                                       + ".  Perhaps the map-get-method wasn't specified in the dozer mapping file?");
        }
        if (readMethod == null || readMethod.get() == null) {
            Method method = findMapMethod(clazz, getMethodName, 1);
            readMethod = new SoftReference<>(method);
        }
        return readMethod.get();
    }
Internal class used to read and write values for Map backed objects that use key/value pairs. The specified "key" is
used when invoking getter/setter. It is assumed that Map setter method has two parameters (for "key" and "value"),
but getter method one parameter (for "key").
<p>
Overloaded methods are supported. Map class can have two set methods with different signatures, but class will
choose the one with appropriate number of parameters.
<p>
Only intended for internal use.
core/src/main/java/com/github/dozermapper/core/propertydescriptor/MapPropertyDescriptor.java