public static void removeNamedPropertyChangeListener(Object bean,
            String propertyName, PropertyChangeListener propertyChangeListener) {
        Method removeSpecificPropertyChangeListener
                = getBeanMate(bean.getClass()).removeNamedPropertyChangeListener;
        if (removeSpecificPropertyChangeListener == null) {
            throw new IllegalArgumentException(
                    "Named PropertyChangeListener is not supported.");
        }
        ReflectionUtils.invoke(removeSpecificPropertyChangeListener,
                bean, propertyName, propertyChangeListener);
    }