code: protected void firePropertyChange(PropertyKey propertyKey, Object oldValue, Object newValue)
      {
          // No change support instance means no listeners
          if (_changeSupport == null)
              return;
  
          _changeSupport.firePropertyChange(propertyKey.getPropertyName(), oldValue, newValue);
      }
docs: Delivers a PropertyChangeEvent to any registered PropertyChangeListeners associated
  with the property referenced by the specified key.
  
  This method *should not* be synchronized, as the PropertyChangeSupport has its own
  built in synchronization mechanisms.