/** * Runs the algorithm, thus distributing course seats. * * @param CourseSet $courseSet The course set containing the courses * that seats shall be distributed for. * @see CourseSet */ public function run($courseSet) { if ($courseSet->hasAdmissionRule('LimitedAdmission')) { return $this->distributeByPriorities($courseSet); } else { return $this->distributeByCourses($courseSet); } }