protected byte[] getSplitPoint() {
    List<HStore> stores = region.getStores();

    byte[] splitPointFromLargestStore = null;
    long largestStoreSize = 0;
    for (HStore s : stores) {
      Optional<byte[]> splitPoint = s.getSplitPoint();
      // Store also returns null if it has references as way of indicating it is not splittable
      long storeSize = s.getSize();
      if (splitPoint.isPresent() && largestStoreSize < storeSize) {
        splitPointFromLargestStore = splitPoint.get();
        largestStoreSize = storeSize;
      }
    }

    return splitPointFromLargestStore;
  }
@return the key at which the region should be split, or null if it cannot be split. This will
        only be called if shouldSplit previously returned true.
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.java