public synchronized void wait(java.lang.Object o, long timeoutLemMs) throws InterruptedException { timeoutWaiters.add(o);
public void wait(java.lang.Object o, long timeoutLemMs) throws InterruptedException { synchronized (this) { timeoutWaiters.add(o); }
	public synchronized void wait(java.lang.Object o, long timeoutLemMs) throws InterruptedException {		timeoutWaiters.add(o);		if (LemTimeFactor == 0)			o.wait();		else			o.wait((long)((float)timeoutLemMs / LemTimeFactor));		timeoutWaiters.remove(o);	}