The resource collection modification times weren't updated when an individual resource was updated. By tracking back the path of a resource and updating the modification times, all nodes in the path will get the correct modification time.