code: private static void removePropertyChangeListenerUnchecked(
          Object target, PropertyChangeListener propertyChangeListener)
      {
          Class<?> c = target.getClass();
          if (!maintainsPropertyChangeListeners(c))
          {
              throw new IllegalArgumentException(
                  "Class "+c+" does not maintain " +
                  "PropertyChangeListeners");
          }
          Method removeMethod = Methods.getMethodUnchecked(
              c, "removePropertyChangeListener", 
              PropertyChangeListener.class);
          Methods.invokeUnchecked(removeMethod, target, 
              propertyChangeListener);
      }
docs: Remove 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
  remove such a listener caused an error, a
  {@link IllegalArgumentException} will be thrown.
  
  @param target The target object
  @param propertyChangeListener The PropertyChangeListener to remove
  @throws IllegalArgumentException If the given object does not maintain
  PropertyChangeListeners, or the attempt to invoke the method
  for removing the given listener failed.