public synchronized void addSplitsBack(Collection<MixedFormatSplit> splits) {
    if (this.splits == null || CollectionUtil.isNullOrEmpty(splits)) {
      return;
    }
    splits.forEach(
        (p) -> {
          Boolean finished = this.splits.get(p.splitId());
          if (finished == null || !finished) {
            return;
          }
          unfinishedCount++;
          LOGGER.debug("add back split:{} at {}", p, LocalDateTime.now());
          this.splits.put(p.splitId(), false);
        });
  }
transient because it is necessary to notify reader again after failover.
amoro-format-mixed/amoro-mixed-flink/amoro-mixed-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/TemporalJoinSplits.java