static void createAction_Completed(ActionBase sender)
        {
            CreateVMFastAction action = (CreateVMFastAction)sender;
            var startAction           = new VMStartAction(action.Connection.Resolve(new XenRef <VM>(action.Result)), VMOperationCommand.WarningDialogHAInvalidConfig, VMOperationCommand.StartDiagnosisForm);

            startAction.RunAsync();
        }
        protected override void Run()
        {
            if (VmsToStart.Count == 0 && VmAppliancesToStart.Count == 0)
            {
                throw new Exception(Messages.ACTION_START_VMS_AND_APPLIANCES_NONE_SELECTED);
            }

            ActionCountCompleted = 0;
            ActionCountTotal     = 100 / (VmsToStart.Count + VmAppliancesToStart.Count);

            foreach (VM vm in VmsToStart)
            {
                VMStartAbstractAction action;
                if (paused)
                {
                    action = new VMStartPausedAction(vm, _warningDialogHAInvalidConfig, _startDiagnosisForm);
                }
                else
                {
                    action = new VMStartAction(vm, _warningDialogHAInvalidConfig, _startDiagnosisForm);
                }
                Description     = action.Title;
                action.Changed += action_Changed;
                action.RunExternal(Session);
                ActionCountCompleted++;
            }

            foreach (VM_appliance vmAppliance in VmAppliancesToStart)
            {
                var action = new StartApplianceAction(vmAppliance, paused);
                Description     = action.Title;
                action.Changed += action_Changed;
                action.RunExternal(Session);
                ActionCountCompleted++;
            }
        }