1. You can't modify a unidirectionally bound property (only the thing the property is bound to can change it).
To see an example, run the following program:
Output will be:
java.lang.RuntimeException: A bound value cannot be set.
So your program throws an exception and you never catch it, so you never know.
Note, you can modify a
bidirectionally bound property, in which case both properties will change their values.
2. Even if modifying the property did work, your program would go into an infinite loop.
You listen for changes on the property, then always change the property when the property changes, so it will be forever changing.