private static Map<Integer, org.apache.avro.Schema.Field> mapIdsToAvroFields(
      List<org.apache.avro.Schema.Field> fields) {
    ImmutableMap.Builder<Integer, org.apache.avro.Schema.Field> fieldsById = ImmutableMap.builder();
    for (org.apache.avro.Schema.Field field : fields) {
      if (AvroSchemaUtil.hasFieldId(field)) {
        fieldsById.put(AvroSchemaUtil.getFieldId(field), field);
      }
    }
    return fieldsById.buildOrThrow();
  }
Gets the index based dereference chain to get from the readColumnHandle to the
expectedColumnHandle
amoro-format-mixed/amoro-mixed-trino/src/main/java/org/apache/amoro/trino/unkeyed/IcebergPageSourceProvider.java