code: public void join() {
      try {
        if (server != null) server.join();
        if (triggerThread != null) triggerThread.join();
        if (fileFixerThread != null) fileFixerThread.join();
      } catch (InterruptedException ie) {
        // do nothing
      }
    }
docs: Wait for service to finish.
  (Normally, it runs forever.)