Actually, just looking over this again, line 19 should pass nil as the change token, because an expired token will just throw an error.
Topic:
App & System Services
SubTopic:
iCloud & Data
Tags: