public boolean isConfigChangedAndReset(Long requiredGen) {
        ConfigState<T> prev = config.get();
        while (prev.getGeneration().equals(requiredGen) && !config.compareAndSet(prev, prev.createUnchanged())) {
            prev = config.get();
        }
        // A false positive is a lot better than a false negative
        return !prev.getGeneration().equals(requiredGen) || prev.isConfigChanged();
    }
Called from {@link ConfigSubscriber} when the changed status of this config is propagated to the clients
config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java