protected function doSave($con = null)
 {
     $con = is_null($con) ? $this->getConnection() : $con;
     $course = $this->getObject();
     $from_course = CoursePeer::retrieveByPK($this->values['course_id']);
     try {
         $con->beginTransaction();
         foreach ($from_course->getStudents() as $student) {
             foreach ($course->getCourseSubjects() as $course_subject) {
                 $course_subject_student = new CourseSubjectStudent();
                 $course_subject_student->setCourseSubjectId($course_subject->getId());
                 $course_subject_student->setStudentId($student->getId());
                 $course_subject_student->save($con);
             }
         }
         $con->commit();
     } catch (Exception $e) {
         throw $e;
         $con->rollBack();
     }
 }