code: @Override
      public final synchronized PropertyChangeListener[] getPropertyChangeListeners(String propertyName) {
          if (changeSupport == null) {
              return new PropertyChangeListener[0];
          }
          return changeSupport.getPropertyChangeListeners(propertyName);
      }
docs: Returns an array of all the listeners which have been associated with the named property.
  
  @param propertyName the name of the property to lookup listeners
  @return all of the {@code PropertyChangeListeners} associated with the named property or an
  empty array if no listeners have been added
  
  @see #addPropertyChangeListener(String, PropertyChangeListener)
  @see #removePropertyChangeListener(String, PropertyChangeListener)
  @see #getPropertyChangeListeners()