writer.print(renderer.render(locale));
writer.print(renderer.render(locale, pageContext));
    public int doStartTag() throws JspException {        // Obtain InfoExamMap        InfoExamsMap infoExamsMap = null;        InfoRoomExamsMap infoRoomExamsMap = null;        ExamsMap examsMap = null;        IExamsMapRenderer renderer = null;        String typeUser = "";        String typeMapType = "";        Locale locale = (Locale) pageContext.findAttribute(Globals.LOCALE_KEY);                try {            infoExamsMap = (InfoExamsMap) pageContext.findAttribute(name);            typeUser = user;            typeMapType = mapType;            examsMap = new ExamsMap(infoExamsMap,locale);            renderer = new ExamsMapRenderer(examsMap, this.examsMapSlotContentRenderer, typeUser,                    typeMapType,locale);        } catch (ClassCastException e) {            infoExamsMap = null;        }        try {            infoRoomExamsMap = (InfoRoomExamsMap) pageContext.findAttribute(name);            typeUser = user;            examsMap = new ExamsMap(infoRoomExamsMap,locale);            renderer = new ExamsMapForRoomRenderer(examsMap, this.examsMapSlotContentRenderer, typeUser);        } catch (ClassCastException e) {            infoRoomExamsMap = null;        }        if (infoExamsMap == null && infoRoomExamsMap == null) {            throw new JspException(messages.getMessage("generateExamsMap.infoExamsMap.notFound", name));        }        // Generate Map from infoExamsMap        JspWriter writer = pageContext.getOut();        //ExamsMap examsMap = new ExamsMap(infoExamsMap);        //		ExamsMapRenderer renderer =        //			new ExamsMapRenderer(        //				examsMap,        //				this.examsMapSlotContentRenderer,        //				typeUser);        try {            writer.print(renderer.render(locale));        } catch (IOException e) {            throw new JspException(messages.getMessage("generateExamsMap.io", e.toString()));        }        return (SKIP_BODY);    }