public void FilterAndTake(string courseName, string givenFilter, int?studentsToTake = null)
        {
            if (IsQueryForCoursePossible(courseName))
            {
                if (studentsToTake == null)
                {
                    studentsToTake = studentsByCourse[courseName].Count;
                }

                RepositioryFilters.FilterAndTake(studentsByCourse[courseName], givenFilter, studentsToTake.Value);
            }
        }
 public StudentsRepository(RepositorySorters sorter, RepositioryFilters filter)
 {
     this.filter           = filter;
     this.sorter           = sorter;
     this.studentsByCourse = new Dictionary <string, Dictionary <string, List <int> > >();
 }