private void failOnStart(final Throwable cause) {
    if (cause != null) {
      log.info("locator is exiting due to an exception", cause);
    } else {
      log.info("locator is exiting normally");
    }

    if (locator != null) {
      locator.stop();
      locator = null;
    }
    if (process != null) {
      process.stop(deletePidFileOnStop);
      process = null;
    }

    INSTANCE.compareAndSet(this, null);

    running.set(false);
  }
A helper method to ensure the same sequence of actions are taken when the Locator fails to
start caused by some exception.

@param cause the Throwable thrown during the startup or wait operation on the Locator.
geode-core/src/main/java/org/apache/geode/distributed/LocatorLauncher.java