code: private static void addPropertyChangeListenerUnchecked(
          Object target, PropertyChangeListener propertyChangeListener)
      {
          Class<?> c = target.getClass();
          if (!maintainsPropertyChangeListeners(c))
          {
              throw new IllegalArgumentException(
                  "Class "+c+" does not maintain " +
                  "PropertyChangeListeners");
          }
          Method addMethod = Methods.getMethodUnchecked(
              c, "addPropertyChangeListener", 
              PropertyChangeListener.class);
          Methods.invokeUnchecked(addMethod, target, 
              propertyChangeListener);
      }
docs: Add the given PropertyChangeListener to the given target object.
  If the given target object does not
  {@link #maintainsPropertyChangeListeners(Class)
  maintain 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 propertyChangeListener The PropertyChangeListener to add
  @throws IllegalArgumentException If the given object does not maintain
  PropertyChangeListeners, or the attempt to invoke the method
  for adding the given listener failed.
  @throws NullPointerException If any argument is <code>null</code>