public ReadBuilder createReaderFunc(
        Function<MessageType, ParquetValueReader<?>> newReaderFunction) {
      Preconditions.checkArgument(
          this.batchedReaderFunc == null,
          "Reader function cannot be set since the batched version is already set");
      this.readerFunc = newReaderFunction;
      return this;
    }
Restricts the read to the given range: [start, start + length).

@param newStart the start position for this read
@param newLength the length of the range this read should scan
@return this builder for method chaining
amoro-format-mixed/amoro-mixed-hive/src/main/java/org/apache/iceberg/parquet/AdaptHiveParquet.java