public List <LayoutItem> GetOptionalItems(SettingsHandler settingsHandler, string productPart) { Dictionary <string, List <string> > layoutProduct; List <LayoutItem> layoutItems = new List <LayoutItem>(); List <string> layoutElements; layoutProduct = GetLayoutProduct(settingsHandler, productPart); layoutElements = GetLayoutElements(layoutProduct, "Optional Keys"); foreach (var element in layoutElements) { LayoutItem layoutItem = new LayoutItem(); layoutItem.Name = element; if (layoutProduct.TryGetValue(element, out var items)) { layoutItem.PossibleValues = items; } layoutItems.Add(layoutItem); } return(layoutItems); }