synchronized (this) { if(workExists) { moveThreadToActive(this); }
if(workExists) { moveThreadToActive(this);
    protected void getWork(){      boolean workExists = false;      synchronized(getWorkQ()){	if(work==null)	  work=dequeWork();	workExists = (work!=null);      }      synchronized (this) {	if(workExists) {	  moveThreadToActive(this);	}      }    }