code: 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);
          }
      }
docs: 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