void _sleepOn(Object sleepOn_, String prestate_, String poststate_) { if (poststate_ == null) poststate_ = state; sleepOn = sleepOn_; synchronized (sleepOn) { if (nextTask != null) _semanticsError("wait()"); aruntime.threadBecomesWaiting(this); __sleepOn(sleepOn_, prestate_, State_AWAKENING); // runtime.threadAwakeFromWaiting(this); if (aruntime.debug && aruntime.isDebugEnabledAt(aruntime.Debug_Q)) aruntime.println( aruntime.Debug_Q, this, "awaked from indefinite sleep: " + _currentContext()); } setState(poststate_); }