VectorSpillBlock getCurrentBlock() {
    int spillBlockIndex = this.startBatchIndexInMemory / blockSize;
    VectorSpillBlock block;

    if (spillBlockIndex > blocks.size() - 1) {
      LOG.debug("Creating new spill group for current buffered batches, block index: {}", spillBlockIndex);
      block = newBlock(spillBlockIndex);

      if (spillBlockIndex > 0) {
        block.startRowIndex[0] = (int) (blocks.get(spillBlockIndex - 1).startRowIndex[0]
            + blocks.get(spillBlockIndex - 1).spillRowCount);
      }
      blocks.add(block);
    } else {
      block = blocks.get(spillBlockIndex);
    }
    return block;
  }
Reads a single row from a VectorRowBytesContainer. Caller is responsible for calling and
checking readNext in advance.

@param batch
@param vectorDeserializeRow
@param rowBytesContainer
@throws HiveException
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/ptf/VectorSpillBlockContainer.java