@Override
    public void dispatchSchemaChangeEvent(
            TableId dataCollectionId, SchemaChangeEventEmitter schemaChangeEventEmitter)
            throws InterruptedException {
        if (dataCollectionId != null && !filter.isIncluded(dataCollectionId)) {
            if (historizedSchema == null || historizedSchema.storeOnlyCapturedTables()) {
                LOG.trace("Filtering schema change event for {}", dataCollectionId);
                return;
            }
        }
        schemaChangeEventEmitter.emitSchemaChangeEvent(new SchemaChangeEventReceiver());
    }
A subclass implementation of {@link EventDispatcher}.

<pre>
 1. This class shares one {@link ChangeEventQueue} between multiple readers.
 2. This class override some methods for dispatching {@link HistoryRecord} directly,
    this is useful for downstream to deserialize the {@link HistoryRecord} back.
</pre>
This class extends JdbcSourceEventDispatcher in cdc-base,
because there is a conflict between the io-debezium-core:1.5.4-final depended on in cdc-base
and the io-debezium-core:1.6.4-final relied on in this module.
inlong-sort/sort-flink/sort-flink-v1.13/sort-connectors/oracle-cdc/src/main/java/org/apache/inlong/sort/cdc/oracle/source/relational/OracleSourceEventDispatcher.java