@Override
    public boolean equals(final Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        final VersionedChangelogTopicConfig that = (VersionedChangelogTopicConfig) o;
        return Objects.equals(name, that.name) &&
            Objects.equals(topicConfigs, that.topicConfigs) &&
            Objects.equals(minCompactionLagMs, that.minCompactionLagMs) &&
            Objects.equals(enforceNumberOfPartitions, that.enforceNumberOfPartitions);
    }
Get the configured properties for this topic. If no {@code minCompactionLagMs} is
provided from the topic configs, then we add
{@code VERSIONED_STORE_CHANGE_LOG_ADDITIONAL_COMPACTION_LAG_MS} to work out the
desired min compaction lag for cleanup.policy=compact

@param windowStoreAdditionalRetentionMs added to retention for window store changelog
                                        topics to allow for clock drift etc. We do not reuse
                                        this value for versioned store changelog topic
                                        compaction lag as the user-facing config name is
                                        window store specific.
@return Properties to be used when creating the topic
streams/src/main/java/org/apache/kafka/streams/processor/internals/VersionedChangelogTopicConfig.java