code: private boolean toBoundedFirst() throws FetchException {
          if (mStartBound == null) {
              if (!toFirst()) {
                  return false;
              }
          } else {
              if (!toFirst(mStartBound.clone())) {
                  return false;
              }
              if (!mInclusiveStart) {
                  byte[] currentKey = getCurrentKey();
                  if (currentKey == null) {
                      return false;
                  }
                  if (compareKeysPartially(mStartBound, currentKey) == 0) {
                      if (!toNextKey()) {
                          return false;
                      }
                  }
              }
          }
  
          if (mEndBound != null) {
              byte[] currentKey = getCurrentKey();
              if (currentKey == null) {
                  return false;
              }
              int result = compareKeysPartially(currentKey, mEndBound);
              if (result >= 0) {
                  if (result > 0 || !mInclusiveEnd) {
                      return false;
                  }
              }
          }
  
          return prefixMatches();
      }
docs: Calls toFirst, but considers start and end bounds.