code: public static void runTaskScheduler(final Configuration runtimeConf, final String[] args)
      throws InjectionException, IOException, ParseException {
      final Tang tang = Tang.Factory.getTang();
  
      final Configuration commandLineConf = CommandLine.parseToConfiguration(args, Retain.class);
  
      // Merge the configurations to run Driver
      final Configuration driverConf = Configurations.merge(getDriverConf(), getHttpConf(), commandLineConf);
  
      final REEF reef = tang.newInjector(runtimeConf).getInstance(REEF.class);
      reef.submit(driverConf);
    }
docs: Run the Task scheduler. If '-retain true' option is passed via command line,
  the scheduler reuses evaluators to submit new Tasks.
  @param runtimeConf The runtime configuration (e.g. Local, YARN, etc)
  @param args Command line arguments.
  @throws InjectionException
  @throws java.io.IOException