trait CdcSplitTrait: Send + Sync {
// Required methods
fn split_id(&self) -> u32;
fn start_offset(&self) -> &Option<String>;
fn is_snapshot_done(&self) -> bool;
fn update_offset(&mut self, last_seen_offset: String) -> ConnectorResult<()>;
// Provided method
fn extract_snapshot_flag(&self, start_offset: &str) -> ConnectorResult<bool> { ... }
}