TimeTable timeTable = generateTimeTable(infoLessonList,locale);
TimeTable timeTable = generateTimeTable(infoLessonList,locale, pageContext);
    public int doStartTag() throws JspException {         try {            infoCurricularYear = (InfoCurricularYear) pageContext                    .findAttribute(SessionConstants.CURRICULAR_YEAR);            infoExecutionDegree = (InfoExecutionDegree) pageContext                    .findAttribute(SessionConstants.EXECUTION_DEGREE);         } catch (ClassCastException e) {            infoCurricularYear = null;            infoExecutionDegree = null;        }        setLessonSlotRendererAndColorPicker();        // Obtem a lista de aulas.        List infoLessonList = null;        try {            infoLessonList = (ArrayList) pageContext.findAttribute(name);        } catch (ClassCastException e) {            infoLessonList = null;        }        if (infoLessonList == null)            throw new JspException(messages.getMessage("gerarHorario.listaAulas.naoExiste", name));        if ((String) pageContext.findAttribute("application") != null) {            setApplication((String) pageContext.findAttribute("application"));        }        // Gera o horrio a partir da lista de aulas.        Locale locale = (Locale)pageContext.findAttribute(Globals.LOCALE_KEY);        JspWriter writer = pageContext.getOut();        TimeTable timeTable = generateTimeTable(infoLessonList,locale);        TimeTableRenderer renderer = new TimeTableRenderer(timeTable, lessonSlotContentRenderer,                this.slotSizeMinutes, this.startTimeTableHour, this.endTimeTableHour, colorPicker);               try {           writer.print(renderer.render(locale));           writer.print(legenda(infoLessonList,locale));        } catch (IOException e) {            throw new JspException(messages.getMessage("gerarHorario.io", e.toString()));        }         return (SKIP_BODY);    }