public TransactionalCommandRunner(IBackgroundWorker backgroundWorker, ThreadSafeQueue <ICommand> queue)
        {
            _commandQueue      = queue;
            _bgWorker          = backgroundWorker;
            _undoStack         = new Stack <ICommand>();
            _workReportCreator = new WorkReportGenerator();

            _cancelRequested = false;
        }
        public TransactionalCommandRunner(IBackgroundWorker backgroundWorker, ThreadSafeQueue<ICommand> queue)
        {
            _commandQueue = queue;
            _bgWorker = backgroundWorker;
            _undoStack = new Stack<ICommand>();
            _workReportCreator = new WorkReportGenerator();

            _cancelRequested = false;
        }