@Override
    protected int loadBlockAndSeekToKey(HFileBlock seekToBlock, ExtendedCell nextIndexedKey,
      boolean rewind, ExtendedCell key, boolean seekBefore) throws IOException {
      if (this.curBlock == null || this.curBlock.getOffset() != seekToBlock.getOffset()) {
        updateCurrentBlock(seekToBlock);
      } else if (rewind) {
        seeker.rewind();
      }
      this.nextIndexedKey = nextIndexedKey;
      return seeker.seekToKeyInBlock(key, seekBefore);
    }
Updates the current block to be the given {@link HFileBlock}. Seeks to the the first
key/value pair.
@param newBlock the block to make current, and read by {@link HFileReaderImpl#readBlock},
                it's a totally new block with new allocated {@link ByteBuff}, so if no
                further reference to this block, we should release it carefully.
hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java