public static void copyFields(GenericRecord source, int start, int len, GenericRecord target) {
    for (int sourceIdx = start, targetIdx = 0; targetIdx < len; ++sourceIdx, ++targetIdx) {
      target.set(targetIdx, source.get(sourceIdx));
    }
  }
Get the new record from the updated record. Populate the `newRecord` with the filed values from `rec`.
@param rec The record read by the file scan task, which contains both the metadata fields and the row data fields
@param newRecord The record object to populate. The end result is the new record after the update.
iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/IcebergAcidUtil.java