docs: public void start(boolean isDaemon) {
          synchronized (this) {
              if (!isUsed) {
                  isUsed = true;
                  isRunning = true;
                  Thread thread = new Thread(new RunnableImpl());
                  thread.setDaemon(isDaemon);
                  thread.start();
              } else {
                  throw new IllegalStateException("Async runner has been already used once.");
              }
          }
      }