@Atomic
  private static void createEnrolmentPeriodRestrictions(final DegreeCurricularPlan input) {
    final RootCourseGroup root = input.getRoot();
    List<? extends ICurricularRule> rules =
        root.getCurricularRules(
            CurricularRuleType.ENROLMENT_PERIOD_RESTRICTIONS, (ExecutionYear) null);

    if (rules.isEmpty()) {

      new EnrolmentPeriodRestrictions(root, getBeginExecutionSemester(input, root));
      logger.info(
          "Created {} for DCP {}",
          EnrolmentPeriodRestrictions.class.getSimpleName(),
          input.getPresentationName());

    } else if (rules.size() > 1) {

      logger.error(
          "Possible error: found {} {} rules for DCP {}",
          rules.size(),
          EnrolmentPeriodRestrictions.class.getSimpleName(),
          input.getPresentationName());
    }
  }