code: private boolean toBoundedLast() throws FetchException {
          if (mEndBound == null) {
              if (!toLast()) {
                  return false;
              }
          } else {
              if (!toLast(mEndBound.clone())) {
                  return false;
              }
              if (!mInclusiveEnd) {
                  byte[] currentKey = getCurrentKey();
                  if (currentKey == null) {
                      return false;
                  }
                  if (compareKeysPartially(mEndBound, currentKey) == 0) {
                      if (!toPreviousKey()) {
                          return false;
                      }
                  }
              }
          }
  
          if (mStartBound != null) {
              byte[] currentKey = getCurrentKey();
              if (currentKey == null) {
                  return false;
              }
              int result = compareKeysPartially(currentKey, mStartBound);
              if (result <= 0) {
                  if (result < 0 || !mInclusiveStart) {
                      return false;
                  }
              }
          }
  
          return prefixMatches();
      }
docs: for preserving key.