private Object convertListRowColumn(
            ColumnVector colVector, int batchIndex, Field field) throws IOException {

      final SettableListObjectInspector listOI = (SettableListObjectInspector) field.objectInspector;
      final ListComplexTypeHelper listHelper = (ListComplexTypeHelper) field.getComplexHelper();
      final Field elementField = listHelper.getElementField();
      final List<Object> tempList = new ArrayList<>();
      final ListColumnVector listColumnVector = (ListColumnVector) colVector;

      while (deserializeRead.isNextComplexMultiValue()) {
        tempList.add(
                convertComplexFieldRowColumn(listColumnVector.child, batchIndex, elementField));
      }

      final int size = tempList.size();
      final Object list = listOI.create(size);
      for (int i = 0; i < size; i++) {
        listOI.set(list, i, tempList.get(i));
      }
      return list;
    }
Initialize for converting the source data type that are going to be read with the
DeserializedRead interface passed to the constructor to the target data types desired in
the VectorizedRowBatch.

No projection -- using the column range 0 .. columnCount-1

@param targetTypeInfos
@param columnsToIncludeTruncated
@throws HiveException
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorDeserializeRow.java