public void removePropertyChangeListener(
                String propertyName,
                PropertyChangeListener listener) {
        if (listener == null || propertyName == null) {
            return;
        }
        listener = this.map.extract(listener);
        if (listener != null) {
            this.map.remove(propertyName, listener);
        }
    }
public void removePropertyChangeListener ( String propertyName , PropertyChangeListener listener ) { if ( listener == null || propertyName == null ) { return ; } listener = this . map . extract ( listener ) ; if ( listener != null ) { this . map . remove ( propertyName , listener ) ; } }
Remove a PropertyChangeListener for a specific property.
If <code>listener</code> was added more than once to the same event
source for the specified property, it will be notified one less time
after being removed.
If <code>propertyName</code> is null,  no exception is thrown and no
action is taken.
If <code>listener</code> is null, or was never added for the specified
property, no exception is thrown and no action is taken.

@param propertyName  The name of the property that was listened on.
@param listener  The PropertyChangeListener to be removed