private HRegionLocation getMetaRegionLocation(int replicaId) throws KeeperException {
    RegionState metaRegionState;
    try {
      byte[] data =
        ZKUtil.getDataAndWatch(watcher, watcher.getZNodePaths().getZNodeForReplica(replicaId));
      metaRegionState = ProtobufUtil.parseMetaRegionStateFrom(data, replicaId);
    } catch (DeserializationException e) {
      throw ZKUtil.convert(e);
    }
    return new HRegionLocation(metaRegionState.getRegion(), metaRegionState.getServerName());
  }
Gets the HRegionLocation for a given meta replica ID. Renews the watch on the znode for future
updates.
@param replicaId ReplicaID of the region.
@return HRegionLocation for the meta replica.
@throws KeeperException if there is any issue fetching/parsing the serialized data.
hbase-server/src/main/java/org/apache/hadoop/hbase/MetaRegionLocationCache.java