Hi all, The class javafx.beans.binding.When is using eager evaluation of its arguments [1]. Kevin and I discussed the idea of changing this default behavior to the more intuitive lazy evaluation as done in a simple ternary expression. This is a potentially breaking change for current code that (for some reason) relies on both values being evaluated regardless of the condition's value. This behavior is not documented.
If anyone has any reservations, please voice them over the next few days. Thanks, Nir [1] https://bugs.openjdk.java.net/browse/JDK-8089579