while (true) { prepareToWork(); work(); cleanupWork(); }
while (true) { try { prepareToWork(); work(); cleanupWork(); } catch (NoPushPopException e) {    pendingException = e; try { synchronized(this) { notify(); wait(); } } catch (InterruptedException ie) { ie.printStackTrace(); } } }
    public void run() {        while (true) {	    prepareToWork();	    work();	    cleanupWork();        }    }