public void run() { reset(); while ( ( delayNotExpired() || needProlong() ) && !stopped ) { try { Thread.sleep( 25 ); } catch ( InterruptedException e ) { // Simply break out of the loop, nothing else // break; } } // Fire the listeners... // for ( DelayListener delayListener : delayListeners ) { delayListener.expired(); } }