private void EnabledDependencyFeatures(List <FeatureDescriptor> enabledFeatures, ShellDescriptor shellDescriptor, FeatureDescriptor featureDescriptor)
 {
     foreach (var dependency in featureDescriptor.Dependencies)
     {
         if (enabledFeatures.All(x => x.Id != dependency))
         {
             var features = extensionManager.EnabledFeature(dependency);
             foreach (var feature in features)
             {
                 enabledFeatures.Add(feature);
                 var shellFeatures = new List <ShellFeature>(shellDescriptor.Features)
                 {
                     new ShellFeature {
                         Name = feature.Id
                     }
                 };
                 shellDescriptor.Features = shellFeatures;
                 EnabledDependencyFeatures(enabledFeatures, shellDescriptor, feature);
             }
         }
     }
 }