def _iter_children(self, url, kind, klass, recurse=None):
children = self._follow_next(url)<EOL>while children:<EOL><INDENT>child = children.pop()<EOL>kind_ = child['<STR_LIT>']['<STR_LIT>']<EOL>if kind_ == kind:<EOL><INDENT>yield klass(child, self.session)<EOL><DEDENT>elif recurse is not None:<EOL><INDENT>url = self._get_attribute(child, *recurse)<EOL>children.extend(self._follow_next(url))<EOL><DEDENT><DEDENT>
Iterate over all children of `kind`

        Yield an instance of `klass` when a child is of type `kind`. Uses
        `recurse` as the path of attributes in the JSON returned from `url`
        to find more children.