code: public void addPropertyChangeListener(
                  String propertyName,
                  PropertyChangeListener listener) {
          if (listener == null || propertyName == null) {
              return;
          }
          listener = this.map.extract(listener);
          if (listener != null) {
              this.map.add(propertyName, listener);
          }
      }
docs: Add a PropertyChangeListener for a specific property.  The listener
  will be invoked only when a call on firePropertyChange names that
  specific property.
  The same listener object may be added more than once.  For each
  property,  the listener will be invoked the number of times it was added
  for that property.
  If <code>propertyName</code> or <code>listener</code> is null, no
  exception is thrown and no action is taken.
  
  @param propertyName  The name of the property to listen on.
  @param listener  The PropertyChangeListener to be added