private DeleteFile buildDeleteFile(StructLike fileRecord, FileContent fileContent) {
    String filePath = fileRecord.get(dataFileFieldIndex(DataFile.FILE_PATH.name()), String.class);
    Long fileSize = fileRecord.get(dataFileFieldIndex(DataFile.FILE_SIZE.name()), Long.class);
    Long recordCount = fileRecord.get(dataFileFieldIndex(DataFile.RECORD_COUNT.name()), Long.class);
    String format = fileRecord.get(dataFileFieldIndex(DataFile.FILE_FORMAT.name()), String.class);
    PartitionSpec spec =
        Optional.ofNullable(
                fileRecord.get(dataFileFieldIndex(DataFile.SPEC_ID.name()), Integer.class))
            .map(table.specs()::get)
            .orElseGet(
                () -> {
                  LOG.info("No specId found for the current fileRecord[%S]", filePath);
                  return table.spec();
                });

    FileMetadata.Builder builder =
        FileMetadata.deleteFileBuilder(spec)
            .withPath(filePath)
            .withFileSizeInBytes(fileSize)
            .withRecordCount(recordCount)
            .withFormat(FileFormat.fromString(format));
    if (needMetrics()) {
      builder.withMetrics(buildMetrics(fileRecord));
    }
    if (spec.isPartitioned()) {
      StructLike partition =
          fileRecord.get(dataFileFieldIndex(DataFile.PARTITION_NAME), StructLike.class);
      builder.withPartition(partition);
    }
    if (fileContent == FileContent.EQUALITY_DELETES) {
      builder.ofEqualityDeletes();
    } else {
      builder.ofPositionDeletes();
    }
    return builder.build();
  }
Set the sequence number, fetch all entries greater than or equal to this sequence number.

@param fromSequence nullable.
@return this for chains
amoro-format-iceberg/src/main/java/org/apache/amoro/scan/TableEntriesScan.java