code: public static void putAll(final Map<String, String> m) {
          if (contextMap instanceof ThreadContextMap2) {
              ((ThreadContextMap2) contextMap).putAll(m);
          } else if (contextMap instanceof DefaultThreadContextMap) {
              ((DefaultThreadContextMap) contextMap).putAll(m);
          } else {
              for (final Map.Entry<String, String> entry: m.entrySet()) {
                  contextMap.put(entry.getKey(), entry.getValue());
              }
          }
      }
docs: Puts all given context map entries into the current thread's
  context map.
  
  <p>If the current thread does not have a context map it is
  created as a side effect.</p>
  @param m The map.
  @since 2.7