private void timedWait(final long interval, final TimeUnit timeUnit) {
    try {
      synchronized (this) {
        timeUnit.timedWait(this, interval);
      }
    } catch (InterruptedException handled) {
      // NOTE just go and send another status request to the Locator...
    }
  }
Waits for a Locator status request response to be returned up to the specified timeout in the
given unit of time. This call will send status requests at fixed intervals in the given unit of
time until the timeout expires. If the request to determine the Locator's status is successful,
then the Locator is considered to be 'ONLINE'. Otherwise, the Locator is considered to be
unresponsive to the status request.

However, this does not necessarily imply the Locator start was unsuccessful, only that a
response was not received in the given time period.

Note, this method does not block or cause the Locator's location-based services (daemon
Threads) to continue running in anyway if the main application Thread terminates when running
the Locator in-process. If the caller wishes to start a Locator in an asynchronous manner
within the application process, then a call should be made to <code>waitOnLocator</code>.

@param timeout a long value in time unit indicating when the period of time should expire in
       attempting to determine the Locator's status.
@param interval a long value in time unit for how frequent the requests should be sent to the
       Locator.
@param timeUnit the unit of time in which the timeout and interval are measured.
@return the state of the Locator, which will either be 'ONLINE' or "NOT RESPONDING'. If the
        status returned is 'NOT RESPONDING', it just means the Locator did not respond to the
        status request within the given time period. It should not be taken as the Locator
        failed to start.
@see #waitOnLocator()
geode-core/src/main/java/org/apache/geode/distributed/LocatorLauncher.java