public function closeCourseSubjectStudent($result, PropelPDO $con = null, $course_subject_student)
 {
     if ($result instanceof StudentApprovedCourseSubject) {
         $student_approved_career_subject = StudentApprovedCareerSubjectPeer::retrieveByCourseSubjectStudent($course_subject_student);
         if (is_null($student_approved_career_subject)) {
             $student_approved_career_subject = new StudentApprovedCareerSubject();
             $student_approved_career_subject->setCareerSubject($result->getCourseSubject($con)->getCareerSubject($con));
             $student_approved_career_subject->setStudent($result->getStudent($con));
             $student_approved_career_subject->setSchoolYear($result->getSchoolYear($con));
             $student_approved_career_subject->setMark($result->getMark());
             $result->setStudentApprovedCareerSubject($student_approved_career_subject);
             /* para el caso de que se aprueba por mesa de examen, se debe asociar el student_approved_career_subject
              * con el student_disapproved_course_subject
              */
             $disapproved = StudentDisapprovedCourseSubjectPeer::retrieveByStudentApprovedCourseSubject($result, $con);
             if (!is_null($disapproved)) {
                 $disapproved->setStudentApprovedCareerSubject($student_approved_career_subject);
                 $disapproved->save($con);
             }
             $student_approved_career_subject->save($con);
             $result->save($con);
         }
     } else {
         $this->createCourseSubjectStudentExamination($result->getCourseSubjectStudent(null, $con), $con);
     }
 }