public static void Merge( this IDictionary <string, object> instance, string name, object val, bool replaceExisting) { Throws.IfArgumentNull(instance, _ => instance); Throws.IfArgumentNot(!string.IsNullOrEmpty(name), _ => name); if (!instance.ContainsKey(name)) { instance.Add(name, val); return; } if (instance.ContainsKey(name) & replaceExisting) { instance[name] = val; return; } if (instance.ContainsKey(name) & !replaceExisting) { instance[name] += " " + val; return; } }