in jvm/diffuser/src/main/java/com/spotify/diffuser/diffuser/Diffuser.java [51:62]
private Diffuser(DidChange<A> didChange, Effect<A> sideEffect) {
final AtomicReference<A> cache = new AtomicReference<>();
this.effect =
value -> {
A cachedValue = cache.get();
if (cachedValue == null || didChange.test(cachedValue, value)) {
sideEffect.run(value);
}
cache.set(value);
};
}