protected void generateGroup(final HtmlBlockContainer blockContainer, final StudentCurricularPlan studentCurricularPlan,
final StudentCurriculumGroupBean studentCurriculumGroupBean, final ExecutionSemester executionSemester,
final int depth) {
final HtmlTable groupTable = createGroupTable(blockContainer, depth);
addGroupHeaderRow(groupTable, studentCurriculumGroupBean, executionSemester);
if (canPerformStudentEnrolments || !groupIsConcluded(studentCurriculumGroupBean)) {
if (getRenderer().isEncodeGroupRules()) {
encodeCurricularRules(groupTable, studentCurriculumGroupBean.getCurriculumModule());
}
final HtmlTable coursesTable = createCoursesTable(blockContainer, depth);
generateEnrolments(studentCurriculumGroupBean, coursesTable);
generateCurricularCoursesToEnrol(coursesTable, studentCurriculumGroupBean);
generateGroups(blockContainer, studentCurriculumGroupBean, studentCurricularPlan, executionSemester, depth);
}