private Optional<ConnectorTableLayout> getLayoutForOptimize(
      ConnectorSession session, IcebergTableExecuteHandle executeHandle) {
    Table icebergTable = loadTable(session, executeHandle.getSchemaTableName());
    // from performance perspective it is better to have lower number of bigger files than other way
    // around
    // thus we force repartitioning for optimize to achieve this
    return getWriteLayout(icebergTable.schema(), icebergTable.spec(), true);
  }
Iceberg original metadata has some problems for mixed-format table, such as iceberg version,
table type. So copy from IcebergMetadata and made some change
amoro-format-mixed/amoro-mixed-trino/src/main/java/org/apache/amoro/trino/unkeyed/IcebergMetadata.java