code: public LauncherStatus run(final Configuration driverConfig) {
      this.reef.submit(driverConfig);
      synchronized (this) {
        while (!this.status.isDone()) {
          try {
            LOG.log(Level.FINE, "Wait indefinitely");
            this.wait();
          } catch (final InterruptedException ex) {
            LOG.log(Level.FINE, "Interrupted: {0}", ex);
          }
        }
      }
      this.reef.close();
      return this.getStatus();
    }
docs: Run a job. Waits indefinitely for the job to complete.
  
  @param driverConfig the configuration for the driver. See DriverConfiguration for details.
  @return the state of the job after execution.