public void AnalyzeFeatures(InventoryHelper helper) { List<MFComponent> features = new List<MFComponent>(); foreach (Feature feat in helper.GetRequiredFeatures()) { MFComponent cmp = new MFComponent(MFComponentType.Feature, feat.Name, feat.Guid, feat.ProjectPath); if (!features.Contains(cmp)) { features.Add(cmp); } } foreach (MFComponent cmpFeat in featuresField) { RecurseFeatureDeps(cmpFeat, features, helper); } this.featuresField.Clear(); foreach (MFComponent cmpFeat in features) { this.featuresField.Add(cmpFeat); } }