these two lines are rather cryptic in the context of the data structure; `hasDataFrom` can presumably be called without the stated intentions