Exception thrown when an attempt is made to store a reference in an
array when the type of the referenced object is not compatible with
the type of the array.
Suspends the current thread until notify is invoked and this thread is
the first thread waiting notification, or notifyAll is called, or the
thread is interrupted.
Suspends the current thread until notify is called and this thread is the
first thread waiting notification, or notifyAll is called, or the time
specified in the timeout expires, or this thread is interrupted.