private synchronized void decrementWaiters() {
   --numWaiters;
   checkConsumption();
 }
 public synchronized void notifyWatcherListEmpty() {
   checkConsumption();
 }