/// <summary>
        /// The init plugin system.
        /// </summary>
        /// <param name="helper">The helper.</param>
        /// <param name="plugincontroller">The plugin controller.</param>
        /// <param name="manager">The manager.</param>
        public void InitPuginSystem(IVsEnvironmentHelper helper, PluginController plugincontroller, INotificationManager manager)
        {
            this.PluginManager = new PluginManagerModel(
                plugincontroller,
                this.configurationHelper,
                manager,
                helper);

            this.RoslynModel = new RoslynManagerModel(this.PluginManager.AnalysisPlugins, manager, this.configurationHelper, this.restService);
            this.RoslynViewModel = new RoslynManagerViewModel(this.RoslynModel);

            this.AvailableOptionsViews.Add(this.PluginManager);
            this.AvailableOptionsViews.Add(this.RoslynViewModel);

            this.AvailableOptionsModels.Add(this.PluginManager);
            this.AvailableOptionsModels.Add(this.RoslynModel);

            // sync checks to plugins
            this.RoslynModel.SyncDiagnosticsInPlugins();
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ExtensionOptionsModel"/> class.
 /// </summary>
 /// <param name="plugins">
 /// The plugins.
 /// </param>
 public ExtensionOptionsModel(PluginController plugincontroller, ExtensionDataModel model)
 {
     this.model = model;
     this.plugincontroller = plugincontroller;
     this.plugins = plugincontroller.GetPlugins();
     this.ControlCommand = new UserSelectControl(this, this.plugins);
     this.GeneralOptions = new GeneralOptionsModel();
     this.GeneralOptionsFrame = this.GeneralOptions.GetUserControlOptions();
 }