code: final void continuouslyRestart(long interval) throws IOException, InterruptedException {
          LOGGER.entering(interval);
  
          while (true) {
              if (!isInitialized()) {
                  FileDownloader.checkForDownloads(getType(), getLauncherOptions()
                          .isFileDownloadCheckTimeStampOnInvocation(), getLauncherOptions()
                          .isFileDownloadCleanupOnInvocation());
              }
  
              startProcess(false);
  
              while (!handler.hasResult()) {
                  LOGGER.fine("Child process still running. Going back to sleep.");
                  Thread.sleep(interval);
              }
  
              if (handler.hasResult()) {
                  ExecuteException e = handler.getException();
                  if (e != null) {
                      LOGGER.log(Level.SEVERE, handler.getException().getMessage(), handler.getException());
                  }
              }
              LOGGER.info("Child process quit. Restarting it.");
              setInitialized(false);
          }
      }
docs: This method spawns a jar, and waits for it to exit [either cleanly or forcibly]
  
  @param interval
  How often should the application check if the command is still running or if it exit.
  @throws IOException
  @throws InterruptedException