private static StudentCurricularPlan findStudentCurricularPlan(
      final CardGenerationBatch cardGenerationBatch, final Student student) {
    final ExecutionYear executionYear = cardGenerationBatch.getExecutionYear();
    final DateTime begin = executionYear.getBeginDateYearMonthDay().toDateTimeAtMidnight();
    final DateTime end = executionYear.getEndDateYearMonthDay().toDateTimeAtMidnight();
    ;

    final Set<StudentCurricularPlan> studentCurricularPlans =
        cardGenerationBatch.getStudentCurricularPlans(begin, end, student);
    if (studentCurricularPlans.size() == 1) {
      return studentCurricularPlans.iterator().next();
    } else if (studentCurricularPlans.size() > 1) {
      final StudentCurricularPlan max = findMaxStudentCurricularPlan(studentCurricularPlans);
      return max;
    }
    return null;
  }
 private boolean isInValidTimeFrame(final CardGenerationEntry cardGenerationEntry) {
   final CardGenerationBatch cardGenerationBatch = cardGenerationEntry.getCardGenerationBatch();
   final ExecutionYear executionYear = cardGenerationBatch.getExecutionYear();
   return isInValidTimeFrame(executionYear);
 }