JsfRenderUtils.addEventSenderHiddenFieldIfNotExists(context, this);
JsfRenderUtils.addEventHandlingHiddenFieldsIfNotExists(context, this);
    public void encodeBegin(FacesContext context) throws IOException {        JsfRenderUtils.addEventSenderHiddenFieldIfNotExists(context, this);        String clearEventSenderFieldJavaScript = JsfRenderUtils.getClearEventSenderFieldJavaScript(                context, this);        StringBuilder newOnChangeEvent = new StringBuilder(clearEventSenderFieldJavaScript);        String onChangeEvent = (String) this.getAttributes().get("onchange");        if (onChangeEvent != null && onChangeEvent.length() != 0) {            if (onChangeEvent.indexOf(clearEventSenderFieldJavaScript) == 0) {                newOnChangeEvent.append(onChangeEvent);            } else {                newOnChangeEvent.append(clearEventSenderFieldJavaScript).append(onChangeEvent);            }        } else {            newOnChangeEvent.append(clearEventSenderFieldJavaScript);        }        this.getAttributes().put("onchange", newOnChangeEvent.toString());        super.encodeBegin(context);    }