code: public synchronized void stopThread()
  	{
  		if (isRunning())
  		{
  			if (log.isInfoEnabled())
  				log.info("[Daemon] {stopThread} Requesting termination of thread " + thisThread.getName());
  
  			this.running = false;
  
  			synchronized (this)
  			{
  				this.notifyAll();
  			}
  		}
  		else
  		{
  			throw new IllegalThreadStateException("Daemon must be started before it may be stopped.");
  		}
  	}
docs: Requests the daemon terminate by setting a flag and sending an interrupt to the thread