code: @Override
  	public synchronized void executionComplete( AsyncTaskProcessorThread thread )
  	{
  		// If tasks are waiting, unqueue them
  		if (!taskQueue.isEmpty())
  		{
  			AsyncTask nextTask = taskQueue.removeFirst();
  			if (nextTask.isMergeable())
  				taskSet.remove(nextTask);
  			
  			thread.setTask(nextTask);
  			thread.execute();
  		}
  		else
  			threadPool.release(thread); // Release the thread
  	}
docs: /* (non-Javadoc)
  @see net.timewalker.ffmq4.utils.async.AsyncTaskProcessorThreadListener#executionComplete(net.timewalker.ffmq4.utils.async.AsyncTaskProcessorThread)