public static ConnectorOffsetBackingStore withConnectorAndWorkerStores(
            Supplier<LoggingContext> loggingContext,
            OffsetBackingStore workerStore,
            KafkaOffsetBackingStore connectorStore,
            String connectorOffsetsTopic,
            TopicAdmin connectorStoreAdmin
    ) {
        Objects.requireNonNull(loggingContext);
        Objects.requireNonNull(workerStore);
        Objects.requireNonNull(connectorStore);
        Objects.requireNonNull(connectorOffsetsTopic);
        Objects.requireNonNull(connectorStoreAdmin);
        return new ConnectorOffsetBackingStore(
                Time.SYSTEM,
                loggingContext,
                connectorOffsetsTopic,
                workerStore,
                connectorStore,
                connectorStoreAdmin
        );
    }
Builds an offset store that uses a connector-specific offset topic as the primary store and
the worker-global offset store as the secondary store.

@param loggingContext a {@link Supplier} for the {@link LoggingContext} that should be used
                      for messages logged by this offset store; may not be null, and may never return null
@param workerStore the worker-global offset store; may not be null
@param connectorStore the connector-specific offset store; may not be null
@param connectorOffsetsTopic the name of the connector-specific offset topic; may not be null
@param connectorStoreAdmin the topic admin to use for the connector-specific offset topic; may not be null
@return an offset store backed primarily by the connector-specific offset topic and secondarily
by the worker-global offset store; never null
connect/runtime/src/main/java/org/apache/kafka/connect/storage/ConnectorOffsetBackingStore.java