public static void emitPeriodWatermark(@Nullable Object splitLocalOutput) {
    if (splitLocalOutput == null) {
      return;
    }
    try {
      Method method =
          ProgressiveTimestampsAndWatermarks.class.getDeclaredClasses()[1].getDeclaredMethod(
              "emitPeriodicWatermark");
      method.setAccessible(true);
      method.invoke(splitLocalOutput);
    } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
      LOG.warn("no method found", e);
    }
  }
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