Reports calls to notify() not made inside a corresponding synchronized
statement or synchronized method. Calling notify() on an object
without holding a lock on that object will result in an IllegalMonitorStateException being thrown.
Such a construct is not necessarily an error, as the necessary lock may be acquired before
the containing method is called, but it's worth looking at.