docs: public void invokeLater(Runnable r) {
      queue.add(r);
      synchronized(this) {
        if(synchronizer == null) {
          runQueue();
        }
        else {
          synchronizer.activate();
        }
      }
    }