code: public synchronized Thread startThread(String name) throws IllegalThreadStateException
  	{
  		if (!running)
  		{
  			log.info("[Daemon] {startThread} Starting thread " + name);
  			this.running = true;
  			thisThread = new Thread(this, name);
  			thisThread.setDaemon(shouldStartAsDaemon()); // Set whether we're a daemon thread (false by default)
  			thisThread.start();
  			return thisThread;
  		}
  		else
  		{
  			throw new IllegalThreadStateException("Daemon must be stopped before it may be started");
  		}
  	}
docs: Starts this daemon, creating a new thread for it
  
  @param name
  String The name for the thread
  
  @return Thread The daemon's thread
  
  @throws IllegalThreadStateException
  If the daemon is still running