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);
            }
        }