public ArrayList<Course> getUnfulfilledCourseRequests(HashMap<String, Course> cs) {


        ArrayList<Course> unfulfilledRequests = new ArrayList<Course>();
        for (String courseKey : taf.getProcessedCourses()) {
            boolean unfulfilled = true;
            Course course = cs.get(courseKey);
            for (Course assigned : courses) {
                if (course.equals(assigned)) {
                    unfulfilled = false;
                }
            }
            if (unfulfilled) {
                unfulfilledRequests.add(course);
            }
        }
        return unfulfilledRequests;

        /*
         ArrayDeque<String> prefCourseNames = taf.GetPreferredCourseKeys();
         ArrayList<Course> prefCourses = new ArrayList();            
            
         // add equivalent course objects to preferredList
         while(!prefCourseNames.isEmpty() && prefCourseNames.peek() != null) {
         prefCourses.add (cs.get(prefCourseNames.poll()));
         }
        
         // if the course already exists in the instructors courses (assigned)
         // list, we remove it from our ArrayLists
         for (Course c1 : prefCourses) {
         for (Course c2 : courses) {
         if (c1.equals(c2)) {
         prefCourses.remove(c2);
         }
         }
         }
        
         return prefCourses;
         * */
    }