public static void ValidateTeacher(Teacher teacher, Dictionary<Teacher, int> teachersList)
 {
     int value;
     if (teachersList.TryGetValue(teacher, out value))
     {
         throw new ArgumentException("This teacher has already been added to this class. Cannot add the same teacher again.");
     }
 }
 public void RemoveTeacher(Teacher teacher)
 {
     int value;
     if (setOfTeachers.TryGetValue(teacher, out value))
     {
         setOfTeachers.Remove(teacher);
     }
     else
     {
         throw new ArgumentException("This teacher is not assigned to this class.");
     }
 }
 public void AddTeacher(Teacher teacher)
 {
     Validator.ValidateTeacher(teacher, this.setOfTeachers);
     this.setOfTeachers.Add(teacher, 1);
 }