private object SetupXMatterList() { var xmatterOfferings = new List <object>(); string xmatterKeyForcedByBranding = _collectionSettings.GetXMatterPackNameSpecifiedByBrandingOrNull(); var offerings = _xmatterPackFinder.GetXMattersToOfferInSettings(xmatterKeyForcedByBranding); foreach (var pack in offerings) { var labelToShow = LocalizationManager.GetDynamicString("Bloom", "CollectionSettingsDialog.BookMakingTab.Front/BackMatterPack." + pack.EnglishLabel, pack.EnglishLabel, "Name of a Front/Back Matter Pack"); var description = pack.GetDescription(); // already localized, if available var item = new { displayName = labelToShow, internalName = pack.Key, description }; xmatterOfferings.Add(item); } // This will switch to the default factory xmatter if the current one is not valid. var currentXmatter = _xmatterPackFinder.GetValidXmatter(xmatterKeyForcedByBranding, _collectionSettings.XMatterPackName); return(new { currentXmatter, xmatterOfferings = xmatterOfferings.ToArray() }); }