writer.writeCall(null, "_completeComponent").writeln(");");
writer.writeMethodCall("_completeComponent").writeln(");");
    public void releaseJavaScript(IJavaScriptWriter writer)            throws WriterException {        IComponentRenderContext componentRenderContext = writer                .getComponentRenderContext();        IHtmlRenderContext renderContext = (IHtmlRenderContext) componentRenderContext                .getRenderContext();        IJavaScriptRenderContext javascriptRenderContext = renderContext                .getJavaScriptRenderContext();        if (writer.isOpened() == false && renderContext.canUseLazyTag()) {            // Le LAZY seulement en cas de non interactive, car IE ne reconnait            // pas les <v:init> dans le traitement interactif !            if (javascriptRenderContext.isInitialized()) {                if (componentRenderContext.setAttribute(ALREADY_LAZY_OBJECT,                        Boolean.TRUE) == null) {                    IHtmlWriter w = writer.getWriter();                    // On ecrit à la main le tag, car on ne peut pas le fermer                    // directement dans le m�me tag !                    w.startElement(LAZY_INIT_TAG);                    if (LAZY_TAG_USE_BROTHER == false) {                        w.writeAttribute("rid", componentRenderContext                                .getComponentId());                    }                    IRepository.IFile files[] = renderContext                            .getJavaScriptRenderContext().popRequiredFiles();                    if (files != null && files.length > 0) {                        Locale locale = javascriptRenderContext.getUserLocale();                        StringAppender sb = new StringAppender(                                files.length * 32);                        for (int i = 0; i < files.length; i++) {                            if (i > 0) {                                sb.append(',');                            }                            sb.append(files[i].getURI(locale));                        }                        w.writeAttribute("requiresBundle", sb.toString());                    }                    // Il y a des nouveaux clientDatas ?                    if (writer.getComponentRenderContext().hasClientDatas(true)) {                        writeClientData(w,                                (IClientDataCapability) componentRenderContext                                        .getComponent());                    }                    w.endElement(LAZY_INIT_TAG);                }                javascriptRenderContext                        .pushUnitializedComponent(componentRenderContext                                .getComponentId());                return;            }        }        if (sendCompleteComponent()) {            writer.writeCall(null, "_completeComponent").writeln(");");        }        writer.writeln("}");    }