@Override
        public LogData<RowData> create(RowData rowData, Object... headers) {
          FormatVersion formatVersion = FormatVersion.fromBytes((byte[]) headers[0]);
          if (formatVersion == null) {
            throw new FlinkRuntimeException(
                String.format("this is illegal format version, %s.", headers[0]));
          }

          return new LogRecordV1(
              formatVersion,
              (byte[]) headers[1],
              (long) headers[2],
              (boolean) headers[3],
              ChangeAction.fromByteValue((byte) headers[4]),
              rowData);
        }
An implement of {@link LogData<RowData>} in flink application.
amoro-format-mixed/amoro-mixed-flink/amoro-mixed-flink-common-format/src/main/java/org/apache/amoro/flink/shuffle/LogRecordV1.java