/** @see java.lang.Runnable#run() */ public void run() { final Thread thread = Thread.currentThread(); while (!Thread.interrupted()) { m_set.add(m_touchable); m_list.add(m_touchable); try { synchronized (thread) { thread.wait(); } } catch (InterruptedException e) { // propagate interrupt thread.interrupt(); } } }