text: public ThreadSafeProgressMonitor(ProgressMonitor pm){this.pm = pm;this.Lock = new ReentrantLock();this.mainThread = Sharpen.Thread.CurrentThread();this.workers = new AtomicInteger(0);this.pendingUpdates = new AtomicInteger(0);this.process = Sharpen.Extensions.CreateSemaphore(0);}