final Set<Registration> processed = new HashSet<Registration>();
for (final OutboundMobilityCandidacyContest contest : getOutboundMobilityCandidacyContestSet()) {
for (final OutboundMobilityCandidacy candidacy : contest.getOutboundMobilityCandidacySet()) {
final OutboundMobilityCandidacySubmission submission = candidacy.getOutboundMobilityCandidacySubmission();
final Registration registration = submission.getRegistration();
final Calculator calculator = new Calculator(registration.getStudent());
if (!processed.contains(registration)) {
final Person person = registration.getPerson();
final Row row = spreadsheetCurricularInfo.addRow();
final BigDecimal candidacyGrade = submission.getGrade(this);
// final ICurriculum curriculum = registration.getCurriculum();
row.setCell(getString("label.username"), person.getUsername());
row.setCell(getString("label.name"), person.getName());
row.setCell(getString("label.degree"), registration.getDegree().getSigla());
row.setCell(getString("label.candidate.classification"),
candidacyGrade == null ? "" : candidacyGrade.toString());
row.setCell(getString("label.ects.first.cycle"), calculator.completedECTSCycle1.toString());
row.setCell(getString("label.ects.average"), calculator.getEctsAverage().toString());
row.setCell(getString("label.ects.average.first.and.second.cycle"), calculator
.getEctsEverateFirstAndSecondCycle().toString());
row.setCell(getString("label.ects.completed"), calculator.completedECTS.toString());
//row.setCell(getString("label.ects.pending"), calculator.getPendingEcts().toString());
row.setCell(getString("label.ects.enrolled"), calculator.enrolledECTS.toString());