docs: void stopNow() {
          assert currentThread() != this : "stopNow must not be called on the migration thread";
          running = false;
          queue.clear();
          interrupt();
          boolean currentThreadInterrupted = false;
          while (true) {
              try {
                  join();
              } catch (InterruptedException e) {
                  currentThreadInterrupted = true;
                  continue;
              }
              break;
          }
          if (currentThreadInterrupted) {
              currentThread().interrupt();
          }
      }