private void PopulatePossibleOutputFormats(string inputDocument, OverviewViewModel model) { foreach (var format in DocumentConverter.EnumeratePossibleOutputFormats(inputDocument)) { var formatInfo = DocumentFormatInfo.Get(format); List <SelectListItem> groupData; if (!model.OutputFormats.TryGetValue(formatInfo.Group.Description, out groupData)) { groupData = new List <SelectListItem>(); model.OutputFormats.Add(formatInfo.Group.Description, groupData); } groupData.Add(new SelectListItem { Text = formatInfo.Description, Value = formatInfo.Value.ToString() }); } if (model.OutputFormats.Count == 0) { model.OutputFormats.Add("(not supported)", new List <SelectListItem>()); } }