internal override void Remove(BaseItemWin item) { if (item is HomeworkWin) { Homework.Remove(item as HomeworkWin); } else if (item is ExamWin) { Exams.Remove(item as ExamWin); } else if (item is ScheduleWin) { Schedules.Remove(item as ScheduleWin); } else if (item is WeightCategoryWin) { WeightCategories.Remove(item as WeightCategoryWin); } else { throw new NotImplementedException("Item to be removed from Class wasn't any of the supported types."); } }