Return const & to avoid making a copy
Remove not needed cleaning of newly created collection
Remove not needed cleaning of collection to be destroyed at the end of the loop
Make tokens private class members
migrate cout to MessageLogger
moving to more efficient operator[], which should be safe here