code: public DaemonConfigurationBuilder parseProgramArgs(String... args) {
          Iterator<String> it = Arrays.asList(args).iterator();
          while (it.hasNext()) {
              String parameter = it.next();
              switch (parameter) {
                  case DaemonConfiguration.JUMI_HOME:
                      setJumiHome(Paths.get(it.next()));
                      break;
                  case DaemonConfiguration.DAEMON_DIR:
                      setDaemonDir(Paths.get(it.next()));
                      break;
                  case DaemonConfiguration.LAUNCHER_PORT:
                      setLauncherPort(Integer.parseInt(it.next()));
                      break;
                  default:
                      throw new IllegalArgumentException("unsupported parameter: " + parameter);
              }
          }
          checkRequiredParameters();
          return this;
      }
docs: conversions