private void handleResultOfSplits(ContinuousEnumerationResult enumerationResult, Throwable t) {
    if (t != null) {
      lock.set(false);
      throw new FlinkRuntimeException("Failed to scan mixed-format table due to ", t);
    }
    if (!enumerationResult.isEmpty()) {
      splitAssigner.onDiscoveredSplits(enumerationResult.splits());
    }
    if (!enumerationResult.toOffset().isEmpty()) {
      enumeratorPosition.set(enumerationResult.toOffset());
    }
    LOG.info(
        "handled result of splits, discover splits size {}, latest offset {}.",
        enumerationResult.splits().size(),
        enumeratorPosition.get());
    lock.set(false);
  }
snapshotId for the last enumerated snapshot. next incremental enumeration should be based off
this as the starting position.
amoro-format-mixed/amoro-mixed-flink/amoro-mixed-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/MixedFormatSourceEnumerator.java