private synchronized TransactionTimestamp waitForNotification() {
   while (_queue.size() == 0) {
     synchronized (_emptynessMonitor) {
       _emptynessMonitor.notify();
     }
     Cool.wait(this);
   }
   return (TransactionTimestamp) _queue.removeFirst();
 }
 public void waitToEmpty() {
   synchronized (_emptynessMonitor) {
     while (_queue.size() != 0) Cool.wait(_emptynessMonitor);
   }
 }
 public POBox(TransactionSubscriber delegate) {
   _delegate = delegate;
   Cool.startDaemon(this);
 }