I'm confused as to what this code is doing. It would appear that once it finds a course using a Locator, it stores all remaining courses using Locators. So how the courses are stored depends on the order in which they are iterated on (assuming any course uses Locators). Is this intentional??