@Override
  public boolean nextBatch(VectorizedRowBatch theirBatch) throws IOException {
    // If the user hasn't been reading by row, use the fast path.
    if (rowInBatch >= batch.size) {
      if (batch.size > 0) {
        // the local batch has been consumed entirely, reset it
        batch.reset();
      }
      baseRow = super.getRowNumber();
      rowInBatch = 0;
      return super.nextBatch(theirBatch);
    }
    copyIntoBatch(theirBatch, batch, rowInBatch);
    rowInBatch += theirBatch.size;
    return theirBatch.size > 0;
  }
If the current batch is empty, get a new one.
@return true if we have rows available.
@throws IOException
ql/src/java/org/apache/hadoop/hive/ql/io/orc/RecordReaderImpl.java