code: public synchronized void stop() {
  
          if (m_thread != null) {
              long timeBeforeShutdownWasCalled = System.currentTimeMillis();
              JLANServer.shutdownServer(new String[] {});
              while (m_thread.isAlive()
                  && ((System.currentTimeMillis() - timeBeforeShutdownWasCalled) < MAX_SHUTDOWN_WAIT_MILLIS)) {
                  try {
                      Thread.sleep(500);
                  } catch (InterruptedException e) {
                      // ignore
                  }
              }
          }
  
      }
docs: Tries to stop the JLAN server and return after it is stopped, but will also return if the thread hasn't stopped after MAX_SHUTDOWN_WAIT_MILLIS.