@Override
  protected void internalForward(Object row, ObjectInspector outputOI) throws HiveException {
    VectorAssignRow va = outputVectorAssignRowMap.get(outputOI);
    if (va == null) {
      va = new VectorAssignRow();
      va.init((StructObjectInspector) outputOI, vOutContext.getProjectedColumns());
      outputVectorAssignRowMap.put(outputOI, va);
    }

    if (row instanceof ArrayList) {
      va.assignRow(outputBatch, outputBatch.size, (ArrayList<Object>) row);
    } else {
      va.assignRow(outputBatch, outputBatch.size, (Object[]) row);
    }

    ++outputBatch.size;
    if (outputBatch.size == VectorizedRowBatch.DEFAULT_SIZE) {
      flushOutput();
    }
  }
'forwards' the (row-mode) record into the (vectorized) output batch
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorMapJoinBaseOperator.java