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);
             }
         }
     }
 }
 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);
             }
         }
     }
 }