Note that the call to `source.next()` is on the next line, which is not visible here because GitHub is not showing enough context lines.  The `return` is happening before `source.next()` can be called.