groupTable.setStyle("width: " + (getInitialWidth() - depth) + "em; margin-left: " + depth + "em;");
final HtmlTableRow htmlTableRow = groupTable.createRow();
htmlTableRow.setClasses(getGroupRowClasses());
final HtmlTableCell nameCell = htmlTableRow.createCell();
nameCell.setBody(new HtmlText(courseGroup.getName()));
nameCell.setClasses(getGroupNameClasses());
final HtmlTableCell currentCreditsCell = htmlTableRow.createCell();
final double ectsCreditsForCourseGroup =
studentCurricularPlan.getCreditsConcludedForCourseGroup(courseGroup).doubleValue();
if (ectsCreditsForCourseGroup == 0d) {
currentCreditsCell.setBody(new HtmlText("ECTS: -"));
} else {
currentCreditsCell.setBody(new HtmlText("ECTS: " + ectsCreditsForCourseGroup));
}
currentCreditsCell.setClasses("smalltxt");
currentCreditsCell.setStyle("width: 6em;");
final HtmlTableCell creditsMinCell = htmlTableRow.createCell();
creditsMinCell.setBody(new HtmlText("Min: " + courseGroup.getMinEctsCredits(executionSemester)));
creditsMinCell.setClasses("smalltxt");
creditsMinCell.setStyle("width: 6em;");
final HtmlTableCell creditsMaxCell = htmlTableRow.createCell();
creditsMaxCell.setBody(new HtmlText("Max: " + courseGroup.getMaxEctsCredits(executionSemester)));
creditsMaxCell.setClasses("smalltxt");
creditsMaxCell.setStyle("width: 6em;");
final HtmlTableCell radioButtonCell = htmlTableRow.createCell();
final HtmlRadioButton radioButton = radioButtonGroup.createRadioButton();
radioButton.setUserValue(MetaObjectFactory.createObject(courseGroup, new Schema(CourseGroup.class)).getKey()
.toString());
radioButton.setChecked(courseGroup == dismissalBean.getCourseGroup());
radioButtonCell.setBody(radioButton);
radioButtonCell.setClasses(getGroupRadioClasses());
radioButtonCell.setStyle("width: 2em;");
for (final Context context : courseGroup.getSortedOpenChildContextsWithCourseGroups(executionSemester)) {
generateCourseGroups(blockContainer, studentCurricularPlan, (CourseGroup) context.getChildDegreeModule(),
executionSemester, depth + getWidthDecreasePerLevel());
}