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);
    }
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 ) ; }
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.