public static void partialCopyToStandardObject(List<Object> result, Object row, int startCol,
      int numCols, StructObjectInspector soi,
      ObjectInspectorCopyOption objectInspectorOption) {

    List<? extends StructField> fields = soi.getAllStructFieldRefs();
    int i = 0, j = 0;
    for (StructField f : fields) {
      if (i++ >= startCol) {
        result.add(copyToStandardObject(soi.getStructFieldData(row, f),
            f.getFieldObjectInspector(), objectInspectorOption));
        if (++j == numCols) {
          break;
        }
      }
    }
  }
Copy specified fields in the input row to the output array of standard objects.
@param result output list of standard objects.
@param row input row.
@param startCol starting column number from the input row.
@param numCols number of columns to copy.
@param soi Object inspector for the to-be-copied columns.
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorUtils.java