public boolean add(R range) {
    byte[] start = range.getStartKey();
    byte[] end = specialEndKey(range);

    // No need to use Arrays.equals because ENDKEY is null
    if (end != ENDKEY && Bytes.compareTo(start, end) > 0) {
      // don't allow backwards edges
      LOG.debug(
        "attempted to add backwards edge: " + Bytes.toString(start) + " " + Bytes.toString(end));
      return false;
    }

    splits.add(start);
    splits.add(end);
    starts.put(start, range);
    return true;
  }
Adds an edge to the split calculator
@return true if is included, false if backwards/invalid
hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionSplitCalculator.java