if (vmThread.isInterrupted(true)) { throw new InterruptedException(); }
    public final synchronized void join() throws InterruptedException {        while (isAlive()) {            /* wait sets this.state = WAITING; */            wait();            /* wait sets this.state = RUNNING; */        }    }