code: private void updateConnectionDetails() {
          Stage stage = (Stage)platformLabel.getScene().getWindow();
  
          connectedLabel.setText(connected ? "YES" : "NO");
          remoteInfo.ifPresent(remote -> {
              remoteNameLabel.setText(remote.getName());
              versionLabel.setText(remote.getMajorVersion() + "." + remote.getMinorVersion());
              platformLabel.setText(remote.getPlatform().getDescription());
              stage.setTitle("Connected to " + remote.getName());
          });
  
          if (!connected) {
              stage.setTitle("Disconnected [" + remoteControl.getConnector().getConnectionName() + "]");
              menuLoadLabel.setText("NO");
              versionLabel.setText("");
              remoteNameLabel.setText("");
          }
      }
docs: When the connectivity changes, we update the fields on the FX thread, we must not update
  any UI fields on the connection thread.