@Override
    public FieldDeserializer struct(StructType type, ObjectInspectorPair pair, List<FieldDeserializer> deserializers) {
      return o -> {
        if (o == null) {
          return null;
        }

        List<Object> data = ((StructObjectInspector) pair.sourceInspector()).getStructFieldsDataAsList(o);
        Record result = GenericRecord.create(type);

        for (int i = 0; i < deserializers.size(); i++) {
          Object fieldValue = data.get(i);
          if (fieldValue != null) {
            result.set(i, deserializers.get(i).value(fieldValue));
          } else {
            result.set(i, null);
          }
        }

        return result;
      };
    }
Deserializes the Hive result object to an Iceberg record using the provided ObjectInspectors.
@param data The Hive data to deserialize
@return The resulting Iceberg Record
iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/Deserializer.java