public IList <ThemeInfo> GetAvailableThemes() { if (_themeInfos != null) { return(_themeInfos); } _themeInfos = new List <ThemeInfo>(); var themeDirectories = _localFileProvider.GetDirectories(_themeDirectory); //only the directories which have theme config files should be selected foreach (var dir in themeDirectories) { LoadTheme(dir); } return(_themeInfos); }