221. Given:
7. void waitForSignal(){
8. Object obj = new Object();
9. synchronized(Thread.currentThread()){
10. obj.wait();
11. obj.notify();
12. }
13. }
Which statement is true?
(A) This code can throw an InterruptedException.
(B) This code can throw an IllegalMonitorStateException.
(C) This code can throw a TimeoutException after ten minutes.
(D) Reversing the order of obj.wait() and obj.notify() might cause this method to complete normally.
(E) A call to notify() or notifyAll() from another thread might cause this method to complete normally.