final ExecutionSemester querySemester = year.getFirstExecutionPeriod();
SheetData<IEctsConversionTable> builder =
new SheetData<IEctsConversionTable>(processEnrolmentByCompetenceCourseStatus(filter)) {
@Override
protected void makeLine(IEctsConversionTable table) {
CompetenceCourse competence = (CompetenceCourse) table.getTargetEntity();
addCell(BundleUtil.getString(Bundle.GEP, "label.externalId"), competence.getExternalId());
addCell(BundleUtil.getString(Bundle.GEP, "label.departmentUnit.name"), competence.getDepartmentUnit()
.getName());
addCell(BundleUtil.getString(Bundle.GEP, "label.competenceCourse.name"),
competence.getName(querySemester));
addCell(BundleUtil.getString(Bundle.GEP, "label.acronym"), competence.getAcronym(querySemester));
addCell(BundleUtil.getString(Bundle.GEP, "label.externalId"), competence.getExternalId());
Set<String> ids = new HashSet<String>();
for (CurricularCourse course : competence.getAssociatedCurricularCoursesSet()) {
List<ExecutionCourse> executions = course.getExecutionCoursesByExecutionYear(year);
for (ExecutionCourse executionCourse : executions) {
if (!ids.contains(executionCourse.getExternalId().toString())) {
ids.add(executionCourse.getExternalId().toString());
}