public ILanguageConfig this[string name]
 {
     get
     {
         LanguageConfig config = null;
         if (!Languages.ContainsKey(name))
         {
             config = new LanguageConfig(name);
             if (provider.PopulateLanguageConfig(config, lexers))
                 Languages[name] = config;
             else
                 config = null;
         }
         else
         {
             config = Languages[name];
         }
         return config;
     }
 }
 public ILanguageConfig this[string name]
 {
     get
     {
         LanguageConfig config = null;
         if (!Languages.ContainsKey(name))
         {
             config = new LanguageConfig(parent, name);
             Languages[name] = config;
             if (!provider.PopulateLanguageConfig(config, lexers))
             {
                 config = null;
                 Languages.Remove(name);
             }
         }
         else
         {
             config = Languages[name];
         }
         return config;
     }
 }