A "PropertyChange" event gets delivered whenever a bean changes a "bound"
or "constrained" property. A PropertyChangeEvent object is sent as an
argument to the PropertyChangeListener and VetoableChangeListener methods.
Normally PropertyChangeEvents are accompanied by the name and the old
and new value of the changed property. If the new value is a builtin
type (such as int or boolean) it must be wrapped as the
corresponding java.lang.* Object type (such as Integer or Boolean).
Null values may be provided for the old and the new values if their
true values are not known.
An event source may send a null object as the name to indicate that an
arbitrary set of if its properties have changed. In this case the
old and new values should also be null.
The "propagationId" field is reserved for future use. In Beans 1.0
the sole requirement is that if a listener catches a PropertyChangeEvent
and then fires a PropertyChangeEvent of its own, then it should
make sure that it propagates the propagationId field from its
incoming event to its outgoing event.
the propagationId object associated with a bound/constrained