java.lang.IllegalMonitorStateException

This is usually thrown when an attempt is made to use a monitor which is not owned by the current thread.