catch(InterruptedException ex) {
catch(QueueClosedException ex1) { break; } catch(InterruptedException ex2) {
                public void run() {                    Event event=null;                    while(Thread.currentThread() == m_upProcessingThread) {                        try {                            event=(Event)m_upQueue.take();                            m_upLatch.passThrough();                            handleUp(event);                        }                        catch(InterruptedException ex) {                            //this is ok.                        }                    }                    Thread.interrupted(); // clears the interrupt flag in case we didn't terminate via the                                          // catch clause                }