if (this.threadState == WAITING) {
if (isWaiting()) {
    final void wakeupAfterMonitor(Monitor monitor) {        if (this.threadState == WAITING) {            final VmProcessor proc = VmMagic.currentProcessor();            proc.disableReschedule(true);            try {                this.threadState = RUNNING;                proc.getScheduler().addToReadyQueue(this, false, "thread.wakeupAfterMonitor");            } finally {                proc.enableReschedule(true);            }        } else {            Unsafe.debug("Oops thread was not waiting? threadState="                    + threadState);        }    }