private void blockAndCheckIfStopped(ZKNodeTracker tracker)
    throws IOException, InterruptedException {
    while (tracker.blockUntilAvailable(this.msgInterval, false) == null) {
      if (this.stopped) {
        throw new IOException("Received the shutdown message while waiting.");
      }
    }
  }
Utilty method to wait indefinitely on a znode availability while checking if the region server
is shut down
@param tracker znode tracker to use
@throws IOException          any IO exception, plus if the RS is stopped
@throws InterruptedException if the waiting thread is interrupted
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java