System.out.println("Next delayed signal in " + delay);
	public DelayedSignal getNextDelayedSignal() {		synchronized (delayedSignalQueue) {			while (true) {				try {					if (delayedSignalQueue.size() > 0) {						DelayedSignal sig;						long delay;						sig = (DelayedSignal)delayedSignalQueue.get(0);						delay = sig.getDeliveryTime() -							System.currentTimeMillis();						if (delay <= 0) {							delayedSignalQueue.remove(sig);							System.out.println(objectId + " got a delayed signal with delivery time " + sig.getDeliveryTime());							return sig;						}						delayedSignalQueue.wait(delay);					} else {						delayedSignalQueue.wait();					}				} catch (InterruptedException e) {					/*					 * InterruptedException is OK.					 * @todo: must somehow stop the thread					 * when the object is deleted.					 */				}			}		}	}