code: private void makeSureServerIsRunning(PortFile portFile)
              throws IOException, InterruptedException {
  
          if (portFile.exists()) {
              portFile.lock();
              portFile.getValues();
              portFile.unlock();
  
              if (portFile.containsPortInfo()) {
                  // Server seems to already be running
                  return;
              }
          }
  
          // Fork a new server and wait for it to start
          SjavacClient.fork(sjavacForkCmd,
                            portFile,
                            poolsize,
                            keepalive);
      }
docs: /*
  Will return immediately if a server already seems to be running,
  otherwise fork a new server and block until it seems to be running.