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