public virtual void AddMacroSelectorConfig(IMacroSelectorConfigForType config) { foreach (var type in config.ApplicableTypes) { foreach (var explodedType in ExplodeType(type)) { if (!this.MacroSelectorConfigsForType.ContainsKey(explodedType)) { this.MacroSelectorConfigsForType.Add(explodedType, config); } } } }