code: void start(Future<DataPort> dataPortFuture) {
          this.dataPortFuture = dataPortFuture;
          this.running.set(true);
          this.stopped = connection.getExecutor().submit(this, Boolean.TRUE);
      }
docs: This method resets that future so mistiming can result in badness.