public byte[] serialize(final DataOutputSerializer out) throws IOException {
        boolean useCatalogBeforeSchema = shouldUseCatalogBeforeSchema(this.getTableId());
        out.writeBoolean(useCatalogBeforeSchema);
        out.writeUTF(this.getTableId().toString());
        out.writeUTF(this.getSplitId());
        out.writeUTF(SerializerUtils.rowToSerializedString(this.getSplitStart()));
        out.writeUTF(SerializerUtils.rowToSerializedString(this.getSplitEnd()));
        out.writeUTF(SerializerUtils.rowToSerializedString(this.offsetFactory));
        writeOffsetPosition(this.getHighWatermark(), out);
        return out.getCopyOfBuffer();
    }
The information used to describe a finished snapshot split.
Copy from com.ververica:flink-cdc-base:2.3.0.
inlong-sort/sort-flink/cdc-base/src/main/java/org/apache/inlong/sort/cdc/base/source/meta/split/FinishedSnapshotSplitInfo.java