public void apply(final Student student) {
   if (isAcceptingCandidacies()) {
     final Registration registration = findBestRegistration(student);
     if (registration == null) {
       throw new DomainException(
           "error.OutboundMobilityCandidacyContest.not.accepting.for.studnt");
     } else {
       apply(registration);
     }
   } else {
     throw new DomainException("error.CandidacyPeriod.not.accepting.candidacies");
   }
 }