Constrained Properties
A related concept is when another bean wants to have a possible veto over a change to a property.
The set method of the property throws an exception called java.beans.PropertyVetoException.
The object must also support (by having add and remove methods) a VetoableChangeListener.
Then each bean that wants to be able to veto property changes implements VetoableChangeListener.
If more than one bean wants to veto property changes, then it may be quite complicated to work out when to keep the old value or move to the new value.