{
throw new JspException("type attribute not set");
}
//Find parent UIComponentTag
UIComponentTag componentTag = UIComponentTag.getParentUIComponentTag(pageContext);
if (componentTag == null)
{
throw new JspException("ValueChangeListenerTag has no UIComponentTag ancestor");
}
if (componentTag.getCreated())
{
//Component was just created, so we add the Listener
UIComponent component = componentTag.getComponentInstance();
if (component instanceof EditableValueHolder)
{
String className;
if (UIComponentTag.isValueReference(_type))
{