if Thread A is waiting on Thread B object, then Thread A will be notified when Thread B completes...
So, JLS treats this an exceptional case for the thread being used as a monitor, right? Because, theoretically speaking, if there is an object1.wait() from ThreadA, ThreadA would wait until there comes a object1.notify() from another thread which again synchronized on object1. And, in our case, we do not have an explicit notify call at all.
-Raj