public List <ParsedSubject> SortContent(List <TmpObject> inputSubjects) { var parsedSubjects = new List <ParsedSubject>(); foreach (var unparsedSubject in inputSubjects) { unparsedSubject.Content = ProcessTrash(unparsedSubject); unparsedSubject.IsOnEvenWeek = CheckWeeks(unparsedSubject); if (Keywords.Scientic().Any(p => unparsedSubject.Content.Contains(p))) { var parsedCourses = _electiveParser.Parse(unparsedSubject, ScheduleGroupType.PickedScientic); parsedSubjects.AddRange(parsedCourses); continue; } if (Keywords.Tech().Any(p => unparsedSubject.Content.Contains(p))) { var parsedCourses = _electiveParser.Parse(unparsedSubject, ScheduleGroupType.PickedTech); parsedSubjects.AddRange(parsedCourses); continue; } if (Keywords.Lecture().Any(l => unparsedSubject.Content.Contains(l)) && !Keywords.NotLecture().Any(n => unparsedSubject.Content.Contains(n))) { var parsedSubject = _lectureParser.Parse(unparsedSubject); var marker = SetMarker(unparsedSubject); parsedSubjects.AddRange(ShareSubjects(parsedSubject, marker)); continue; } if (Keywords.PhysCulture().Any(p => unparsedSubject.Content.Contains(p))) { var parsedSubject = _physCultureParser.Parse(unparsedSubject); var marker = SetMarker(unparsedSubject); parsedSubjects.AddRange(ShareSubjects(parsedSubject, marker)); continue; } if (Keywords.English().Any(p => unparsedSubject.Content.Contains(p))) { var engSubjects = _englishParser.Parse(unparsedSubject); parsedSubjects.AddRange(engSubjects); continue; } parsedSubjects.Add(_seminarParser.Parse(unparsedSubject)); } return(parsedSubjects); }