public static AbstractOptimizingEvaluator createOptimizingEvaluator(
      DefaultTableRuntime tableRuntime,
      MixedTable table,
      TableSnapshot snapshot,
      int maxPendingPartitions) {
    ServerTableIdentifier identifier = tableRuntime.getTableIdentifier();
    DefaultOptimizingState optimizingState = tableRuntime.getOptimizingState();
    OptimizingConfig config = optimizingState.getOptimizingConfig();
    long lastMinor = optimizingState.getLastMinorOptimizingTime();
    long lastFull = optimizingState.getLastFullOptimizingTime();
    if (TableFormat.ICEBERG.equals(table.format())) {
      return new IcebergOptimizerEvaluator(
          identifier, config, table, snapshot, maxPendingPartitions, lastMinor, lastFull);
    } else if (TableFormat.MIXED_ICEBERG.equals(table.format())) {
      return new MixedIcebergOptimizingEvaluator(
          identifier, config, table, snapshot, maxPendingPartitions, lastMinor, lastFull);
    } else if (TableFormat.MIXED_HIVE.equals(table.format())) {
      return new MixedHiveOptimizingEvaluator(
          identifier, config, table, snapshot, maxPendingPartitions, lastMinor, lastFull);
    }
    throw new IllegalStateException("Un-supported table-format:" + table.format().toString());
  }
Fetch all manifest files of an Iceberg Table

@param table An iceberg table, or maybe base store or change store of mixed-iceberg format.
@return Path set of all valid manifest files.
amoro-ams/src/main/java/org/apache/amoro/server/utils/IcebergTableUtil.java