@Atomic
 public void delete() {
   final OutboundMobilityCandidacyContestGroup mobilityGroup =
       getOutboundMobilityCandidacyContestGroup();
   for (final OutboundMobilityCandidacy candidacy : getOutboundMobilityCandidacySet()) {
     candidacy.deleteWithNotification();
   }
   getExecutionDegreeSet().clear();
   setMobilityAgreement(null);
   setOutboundMobilityCandidacyContestGroup(null);
   setOutboundMobilityCandidacyPeriod(null);
   setRootDomainObject(null);
   if (mobilityGroup != null
       && mobilityGroup.getOutboundMobilityCandidacyContestSet().size() == 0) {
     mobilityGroup.delete();
   }
   deleteDomainObject();
 }