public static function retrieveApprovationDate(StudentApprovedCareerSubject $studentApprovedCareerSubject)
 {
     $approvationInstance = $studentApprovedCareerSubject->getApprovationInstance();
     switch (get_class($approvationInstance)) {
         case 'StudentApprovedCourseSubject':
             $period = $approvationInstance->getCourseSubject()->getLastCareerSchoolYearPeriod();
             if (!is_null($period)) {
                 return $period->getEndAt();
             }
             break;
         case 'StudentDisapprovedCourseSubject':
             $cssid = $approvationInstance->getCourseSubjectStudentId();
             $csse = CourseSubjectStudentExaminationPeer::retrieveLastByCourseSubjectStudentId($cssid);
             $exam = $csse->getExaminationSubject()->getExamination();
             return $exam->getDateFrom();
         case 'StudentRepprovedCourseSubject':
             $sers = StudentExaminationRepprovedSubjectPeer::retrieveByStudentRepprovedCourseSubject($approvationInstance);
             $exam = $sers->getExaminationRepprovedSubject()->getExaminationRepproved();
             return $exam->getDateFrom();
     }
     //couldn't find when was approved. return null ¿error?
     return;
 }