@Override
		public void putAll(Map<? extends K, ? extends V> from) {
			map.getAndUpdate(m -> {
				Map<K, V> withPutAll = copyMap(m);
				withPutAll.putAll(from);
				return withPutAll;
			});
		}
Extension point: Create a mutable copy of the given map

@param map the map to copy
@return the mutable copy
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/util/CopyOnWrite.java