Shouldn't `self.validate` run on the output of `self.parse_item`?