static bool waitForVarToChange_withTimeout(Var v, A knownValue, long timeout) ctex { synchronized(v) { long destTime = sysTime()+timeout, remainingTime; while ((remainingTime = destTime-sysTime()) > 0) if (neq(knownValue, v!)) true; v.wait(remainingTime); } false; } }