code: public final VoltTableRow fetchRow(int index) {
          assert(verifyTableInvariants());
  
          // check bounds
          if ((index < 0) || (index >= m_rowCount)) {
              throw new IndexOutOfBoundsException("index = " + index + "; rows = " + m_rowCount);
          }
  
          // if no memoized value or looking in front of the memoized value, reset
          if ((m_memoizedRowOffset == NO_MEMOIZED_ROW_OFFSET) || (index < m_memoizedRowOffset)) {
              m_memoizedRowOffset = 0; m_memoizedBufferOffset = m_rowStart + ROW_COUNT_SIZE;
          }
  
          while (m_memoizedRowOffset < index) {
              // add 4 bytes as the row size is non-inclusive
              m_memoizedBufferOffset += m_buffer.getInt(m_memoizedBufferOffset) + ROW_HEADER_SIZE;
              m_memoizedRowOffset++;
          }
          Row retval = new Row(m_memoizedBufferOffset + ROW_HEADER_SIZE);
          retval.m_activeRowIndex = index;
          return retval;
      }
docs: Return a {@link VoltTableRow} instance with the specified index. This method
  is not performant because it has to scan the length prefix of every row preceding
  the requested row in order to find the position of the requested row. Use advanceRow
  or advanceToRow instead.
  @param index Index of the row
  @return The requested {@link VoltTableRow Row}.
  @throws IndexOutOfBoundsException if no row exists at the given index.