/** {@inheritDoc} */
public synchronized void removePropertyChangeListener(PropertyChangeListener listener) {
if (listener == null)
return;
if (listener instanceof PropertyChangeListenerProxy) {
PropertyChangeListenerProxy proxy =
(PropertyChangeListenerProxy) listener;
// Call two argument remove method.
removePropertyChangeListener(proxy.getPropertyName(),
(PropertyChangeListener) proxy.getListener());
return;
}
PropertyChangeListener[] listeners = getPropertyChangeListeners();
WeakPropertyChangeListener wpcl;
for (int i = listeners.length - 1; i >= 0; i--) {