@Override
    public Method getWriteMethod() {
        if (MappingUtils.isBlankOrNull(setMethodName)) {
            throw new MappingException("Custom Map set method not specified for field mapping to class: " + clazz
                                       + ".  Perhaps the map-set-method wasn't specified in the dozer mapping file?");
        }
        if (writeMethod == null || writeMethod.get() == null) {
            Method method = findMapMethod(clazz, setMethodName, 2);
            writeMethod = new SoftReference<>(method);
        }
        return writeMethod.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