public void doWait() {
        synchronized (monitorLock) {
            while (!wasSignalled.get()) {
                try {
                    // gives up the hold on the monitorLock and goes to sleep.
                    monitorLock.wait();
                } catch (InterruptedException e) {
                }
            }
            // clear signal and continue running.
            wasSignalled.set(false);
        }
    }
Pauses online learning thread until {@link #doNotify()} is called.
ache/src/main/java/achecrawler/link/classifier/online/OnlineLearning.java