public static Object getSplitLocalOutput(ReaderOutput readerOutput) {
    if (readerOutput == null) {
      return null;
    }
    try {
      return ReflectionUtil.getField(
          (Class<ReaderOutput>) ProgressiveTimestampsAndWatermarks.class.getDeclaredClasses()[2],
          readerOutput,
          "splitLocalOutputs");
    } catch (Exception e) {
      LOG.warn("extract internal watermark error", e);
    }
    return null;
  }
A util class to handle the reflection operation of Flink class.
amoro-format-mixed/amoro-mixed-flink/amoro-mixed-flink-common/src/main/java/org/apache/amoro/flink/util/FlinkClassReflectionUtil.java