code: private static void addNamedPropertyChangeListenerUnchecked(
          Object target, String propertyName, 
          PropertyChangeListener propertyChangeListener)
      {
          Class<?> c = target.getClass();
          if (!maintainsNamedPropertyChangeListeners(c))
          {
              throw new IllegalArgumentException(
                  "Class "+c+" does not maintain " +
                  "named PropertyChangeListeners");
          }
          Method addMethod = Methods.getMethodUnchecked(
              c, "addPropertyChangeListener", 
              String.class, PropertyChangeListener.class);
          Methods.invokeUnchecked(addMethod, target, 
              propertyName, propertyChangeListener);
      }
docs: Add the given PropertyChangeListener to the given target object.
  If the given target object does not
  {@link #maintainsNamedPropertyChangeListeners(Class)
  maintain named PropertyChangeListeners}, or the invocation of
  the method to add such a listener caused an error, a
  {@link IllegalArgumentException} will be thrown.
  
  @param target The target object
  @param propertyName The property name
  @param propertyChangeListener The PropertyChangeListener to add
  @throws IllegalArgumentException If the given object does not maintain
  named PropertyChangeListener, or the attempt to invoke the method
  for adding the given listener failed.