docs: private void scheduleSetPlot(final SVGPlot oldplot, final SVGPlot newplot) {
      UpdateManager um = this.getUpdateManager();
      if(um != null) {
        synchronized(um) {
          if(um.isRunning()) {
            // LoggingUtil.warning("Scheduling detach: " + this + " " + oldplot);
            final Runnable detach = new Runnable() {
              @Override
              public void run() {
                if(latest.compareAndSet(this, null)) {
                  detachPlot(oldplot);
                  attachPlot(newplot);
                }
              }
            };
            latest.set(detach);
            um.getUpdateRunnableQueue().preemptLater(detach);
            return;
          }
        }
      }
      else {
        if(oldplot != null) {
          LoggingUtil.warning("No update manager, but a previous plot exists. Incorrectly initialized?");
        }
      }
      detachPlot(oldplot);
      attachPlot(newplot);
    }