void ICompilingProgressManager.ProgressUpdated(PgsProgressReporter reporter, int increasement)
        {
            lock (lkPgsProgress)
            {
                pgsProgress += increasement;

                this.PgsUpdateProgress();
            }
        }
        void ICompilingProgressManager.Register(PgsProgressReporter reporter)
        {
            threadLimit.WaitOne();
            lock (lkPgsProgress)
            {
                pgsProgressReporters.Add(reporter);

                this.PgsUpdateProgress();
            }
        }
        void ICompilingProgressManager.Unregister(PgsProgressReporter reporter)
        {
            threadLimit.Release();
            lock (lkPgsProgress)
            {
                pgsProgressReporters.Remove(reporter);

                pgsAmount   -= reporter.Amount;
                pgsProgress -= reporter.Progress;
                numPgsesDone++;

                this.PgsUpdateProgress();
            }
        }
 void ICompilingProgressManager.TaskEnd(PgsProgressReporter reporter)
 {
     return;
 }