docs: public synchronized void obtainServerLock() {
  
          getServerLock();
  
          // if the lock is null or is invalid, the server process is already running
          if (serverLock == null || !serverLock.isValid()) {
              serverLock = null;
              lockFileChannel = null;
  
              String lockFilePath = lockFile.getAbsolutePath();
              LaunchException le = new LaunchException("Server(" + serverName + ") is already running.  lockFile="
                                                       + lockFilePath, MessageFormat.format(BootstrapConstants.messages.getString("error.serverAlreadyRunning"),
                                                                                            serverName, lockFilePath));
              le.setReturnCode(ReturnCode.REDUNDANT_ACTION_STATUS);
              throw le;
          }
      }