private void returnBlocks(boolean returnAll) {
      this.prevBlocks.forEach(HFileBlock::release);
      this.prevBlocks.clear();
      if (returnAll && this.curBlock != null) {
        this.curBlock.release();
        this.curBlock = null;
      }
    }
The next indexed key is to keep track of the indexed key of the next data block. If the
nextIndexedKey is HConstants.NO_NEXT_INDEXED_KEY, it means that the current data block is the
last data block. If the nextIndexedKey is null, it means the nextIndexedKey has not been
loaded yet.
hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java