@SuppressWarnings("NullableProblems")
    @Override
    public void putAll(final Map<? extends String, ? extends String> m) {
        for (final Entry<? extends String, ? extends String> entry : m.entrySet()) {
            put(entry.getKey(), entry.getValue());
        }
    }
String hash map that does not care about key case.
stroom-util/src/main/java/stroom/util/CIStringHashMap.java