If the client calls MDC.put() 10 times, the current implementation creates 10 maps, resulting in frequent memory allocations. Is it possible to modify this so that put does not create a new map, and enhance getImmutableMapOrNull to return a decorated immutable version of the original map?