### Question:
BaseTupleBuilder extends OffHeapRowWriter implements TupleBuilder, Deallocatable { @Override public Tuple build() { return buildToHeapTuple(); } BaseTupleBuilder(DataType[] schema); @Override long address(); void ensureSize(int size); @Override int position(); @Override void forward(int length); @Override void backward(int length); @Override boolean startRow(); @Override void endRow(); @Override boolean addTuple(Tuple tuple); @Override Tuple build(); HeapTuple buildToHeapTuple(); UnSafeTuple buildToZeroCopyTuple(); void release();  }### Answer:
@Test public void testBuild() { BaseTupleBuilder builder = new BaseTupleBuilder(TestMemoryRowBlock.schema); MemoryRowBlock rowBlock = TestMemoryRowBlock.createRowBlock(10248); RowBlockReader reader = rowBlock.getReader(); ZeroCopyTuple inputTuple = new UnSafeTuple(); HeapTuple heapTuple; ZeroCopyTuple zcTuple; int i = 0; while(reader.next(inputTuple)) { OffHeapRowBlockUtils.convert(inputTuple, builder); zcTuple = builder.buildToZeroCopyTuple(); TestMemoryRowBlock.validateTupleResult(i, zcTuple); heapTuple = builder.buildToHeapTuple(); TestMemoryRowBlock.validateTupleResult(i, heapTuple); i++; } builder.release(); rowBlock.release(); }