public TreeTask(TreeTaskInfo taskInfo)
        {
            this.Info               = taskInfo;
            this._threadCounter     = new TreeTaskThreadCounter(taskInfo.Connection);
            this._waitingJobs       = new ConcurrentQueue <TreeJob>();
            this._runningJobs       = new ObservableCollection <TreeJob>();
            this._runningJobsLock   = new object();
            this.CancellationSource = new CancellationTokenSource();
            this.Progress           = new TreeTaskProgressInfo();

            Progress.AddItems(1);
        }
		public TreeTask(TreeTaskInfo taskInfo)
		{
			this.Info               = taskInfo;
			this._threadCounter     = new TreeTaskThreadCounter(taskInfo.Connection);
			this._waitingJobs       = new ConcurrentQueue<TreeJob>();
			this._runningJobs       = new ObservableCollection<TreeJob>();
			this._runningJobsLock   = new object();
			this.CancellationSource = new CancellationTokenSource();
			this.Progress           = new TreeTaskProgressInfo();

			Progress.AddItems(1);
		}