public static void putAll(RequestContext ctx, Map<String, String> map) {
        requireNonNull(ctx, "ctx");
        requireNonNull(map, "map");
        if (map.isEmpty()) {
            return;
        }

        synchronized (ctx) {
            final Object2ObjectMap<String, String> oldMap = getMap(ctx);
            final Object2ObjectMap<String, String> newMap;
            if (oldMap.isEmpty()) {
                newMap = new Object2ObjectOpenHashMap<>(map);
            } else {
                newMap = new Object2ObjectOpenHashMap<>(oldMap.size() + map.size());
                newMap.putAll(oldMap);
                newMap.putAll(map);
            }
            ctx.setAttr(MAP, Object2ObjectMaps.unmodifiable(newMap));
        }
    }
Binds the specified request-scoped {@link MDC} properties to the specified {@link RequestContext}.

@param ctx the {@link RequestContext}
@param map the {@link Map} that contains the request-scoped {@link MDC} properties
core/src/main/java/com/linecorp/armeria/common/logging/RequestScopedMdc.java