public virtual void AbortTask() { foreach (Command command in CommandQueue) { command.Abort(); } if (CurrentCommand != null) { CurrentCommand.ResultHandler -= OnCommandFinish; CurrentCommand.Abort(); } Finish(false); }