Log.log(Log.DEBUG,WorkThread.class,"Running in work thread: " + request);
	private void doRequest(WorkThreadPool.Request request)	{		Log.log(Log.DEBUG,WorkThread.class,"Running in work thread: " + request);		try		{			request.run.run();		}		catch(Abort a)		{			Log.log(Log.ERROR,WorkThread.class,"Unhandled abort");		}		catch(Throwable t)		{			Log.log(Log.ERROR,WorkThread.class,"Exception "				+ "in work thread:");			Log.log(Log.ERROR,WorkThread.class,t);		}		finally		{			synchronized(abortLock)			{				aborted = abortable = false;			}			status = null;			progressValue = progressMaximum = 0;			pool.requestDone();			pool.fireProgressChanged(this);		}	}