@Override
  public boolean backwardSeek(ExtendedCell key) throws IOException {
    if (closed) {
      return false;
    }
    seek(key); // seek forward then go backward
    if (peek() == null || segment.compareRows(peek(), key) > 0) {
      return seekToPreviousRow(key);
    }
    return true;
  }
Seek the scanner at or before the row of specified Cell, it firstly tries to seek the scanner
at or after the specified Cell, return if peek KeyValue of scanner has the same row with
specified Cell, otherwise seek the scanner at the first Cell of the row which is the previous
row of specified KeyValue
@param key seek Cell
@return true if the scanner is at the valid KeyValue, false if such Cell does not exist
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SegmentScanner.java