@Override
    public void checkPreConditions(DegreeChangeIndividualCandidacyProcess process, User userView) {
      if (!isAllowedToManageProcess(process, userView)) {
        throw new PreConditionNotValidException();
      }

      if (!process.isCandidacyCancelled() && !process.isCandidacyRejected()) {
        throw new PreConditionNotValidException();
      }
    }
 @Override
 public void checkPreConditions(DegreeChangeIndividualCandidacyProcess process, User userView) {
   if (!isAllowedToManageProcess(process, userView)) {
     throw new PreConditionNotValidException();
   }
   if (process.isCandidacyCancelled()
       || process.isCandidacyAccepted()
       || process.hasRegistrationForCandidacy()) {
     throw new PreConditionNotValidException();
   }
 }
    @Override
    public void checkPreConditions(DegreeChangeIndividualCandidacyProcess process, User userView) {
      if (!isAllowedToManageProcess(process, userView)) {
        throw new PreConditionNotValidException();
      }

      if (process.isCandidacyCancelled() || !process.isCandidacyDebtPayed()) {
        throw new PreConditionNotValidException();
      }

      if (!process.isSentToCoordinator()) {
        throw new PreConditionNotValidException();
      }
    }