void SelectActiveRuntime(RuntimeModel preferedRuntimeModel)
        {
            ignoreRuntimeChangedCount++;

            try {
                if (ToolbarView.RuntimeModel.Any ()) {
                    if (startupProjects.Length > 1) {
                        var multiProjectTarget = new MultiProjectExecutionTarget ();
                        var multipleRuntime = new RuntimeModel (this, multiProjectTarget, false, null);
                        foreach (var startupProject in startupProjects) {
                            var runtimeModel = SelectActiveRuntime (startupProject.Item1, preferedRuntimeModel);
                            if (runtimeModel == null) {
                                LoggingService.LogError ($"No runtimeModel for {startupProject.Item1.Name}");
                                continue;
                            }
                            multiProjectTarget.SetExecutionTarget (startupProject.Item1, runtimeModel.ExecutionTarget);
                            multipleRuntime.AddChild (runtimeModel);
                        }
                        ToolbarView.ActiveRuntime = multipleRuntime;
                        IdeApp.Workspace.ActiveExecutionTarget = multipleRuntime.ExecutionTarget;
                    } else if (startupProjects.Length == 1) {
                        var runtimeModel = SelectActiveRuntime (startupProjects.First ().Item1, preferedRuntimeModel);
                        ToolbarView.ActiveRuntime = runtimeModel;
                        IdeApp.Workspace.ActiveExecutionTarget = runtimeModel?.ExecutionTarget;
                        UpdateBuildConfiguration ();
                    } else {
                        ToolbarView.ActiveRuntime = null;
                        IdeApp.Workspace.ActiveExecutionTarget = null;
                    }
                }
            } finally {
                ignoreRuntimeChangedCount--;
            }
        }
		void SelectActiveRuntime (RuntimeModel preferedRuntimeModel)
		{
			ignoreRuntimeChangedCount++;

			try {
				if (ToolbarView.RuntimeModel.Any ()) {
					if (startupProjects.Length > 1) {
						var multiProjectTarget = new MultiProjectExecutionTarget ();
						var multipleRuntime = new RuntimeModel (this, multiProjectTarget, false, null);
						foreach (var startupProject in startupProjects) {
							var runtimeModel = SelectActiveRuntime (startupProject.Item1, preferedRuntimeModel);
							multiProjectTarget.SetExecutionTarget (startupProject.Item1, runtimeModel.ExecutionTarget);
							multipleRuntime.AddChild (runtimeModel);
						}
						ToolbarView.ActiveRuntime = multipleRuntime;
						IdeApp.Workspace.ActiveExecutionTarget = multipleRuntime.ExecutionTarget;
					} else if (startupProjects.Length == 1) {
						var runtimeModel = SelectActiveRuntime (startupProjects.First ().Item1, preferedRuntimeModel);
						ToolbarView.ActiveRuntime = runtimeModel;
						IdeApp.Workspace.ActiveExecutionTarget = runtimeModel?.ExecutionTarget;
						UpdateBuildConfiguration ();
					} else {
						ToolbarView.ActiveRuntime = null;
						IdeApp.Workspace.ActiveExecutionTarget = null;
					}
				}
			} finally {
				ignoreRuntimeChangedCount--;
			}
		}