Object.wait() or Condition.await() without specifying a timeout.
Such calls may be dangerous in high-availability programs, as failures in one
component may result in blockages of the waiting component
if notify()/notifyAll()
or signal()/signalAll() never get called.
Example:
void foo(Object bar) throws InterruptedException {
bar.wait();
}