docs: @Override
    public void close() {
      synchronized (lock) {
        if (closed) {
          return;
        }
  
        closed = true;
        tokenSource.unregister(this);
        tokenSource = null;
        action = null;
      }
    }