<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def parse_all(self, sources, path, package_name, root_dir):
 """Parse all the model dictionaries in sources. :param List[dict] sources: The `sources` section of the schema.yml, as a list of dicts. :param str path: The path to the schema.yml file :param str package_name: The name of the current package :param str root_dir: The root directory of the search """

        filtered = _filter_validate(path, 'sources', sources,
                                    self._sources_validate)
        nodes = itertools.chain.from_iterable(
            self.parse_source_entry(source, path, package_name, root_dir)
            for source in filtered
        )

        for node_type, node in nodes:
            yield node_type, node