code: protected Thread newThread(Runnable task) {
      Thread result = new Thread(wrapTask(task));
      result.setDaemon(true);
      return result;
    }
docs: Override this to customize how the background task is created.
  
  @param task the task to be run in the background
  @return the thread of the task