public WidgetBuilder initWithComponentLoad(String widgetClass, String widgetVar, String id, String targetId)
            throws IOException {

        this.renderScriptBlock(id);
        context.getResponseWriter().write("PrimeFaces.onElementLoad($(PrimeFaces.escapeClientId(\"" + targetId + "\")),function(){");
        this.init(widgetClass, widgetVar, id, true);

        return this;
    }
@param widgetClass   Constructor name of the widget
@param widgetVar     Name of the client side widget
@param id            Client id of the component
@param endFunction   If the init script is wrapped by a method and if the endFunction parentheses should be rendered.
@throws IOException if any IO exception occurs
@return              The current instance.
primefaces/src/main/java/org/primefaces/util/WidgetBuilder.java