def METHOD_NAME(name_space, module_iterator):
    # plenty details here, pylint: disable=too-many-branches,too-many-locals
    from nuitka.tree.TreeHelpers import parseSourceCodeToAst
    for module_desc in module_iterator:
        if name_space is None:
            module_name = ModuleName(module_desc.name)
        else:
            module_name = name_space.getChildNamed(module_desc.name)
        try:
            _module_name, module_filename, finding = locateModule(
                module_name=module_name, parent_package=None, level=0
            )
        except AssertionError:
            # TODO: Currently bytecode only modules are triggering an assertion.
            continue
        assert _module_name == module_name, module_desc
        # Only source code that is found.
        if module_filename is None:
            continue
        (
            _main_added,
            _is_package,
            _is_namespace,
            _source_ref,
            source_filename,
        ) = decideModuleSourceRef(
            filename=module_filename,
            module_name=module_name,
            is_main=False,
            is_fake=False,
            logger=test_logger,
        )
        try:
            (
                source_code,
                original_source_code,
                contributing_plugins,
            ) = readSourceCodeFromFilenameWithInformation(
                module_name=module_name, source_filename=source_filename
            )
        except SyntaxError:
            continue
        try:
            parseSourceCodeToAst(
                source_code=source_code,
                module_name=module_name,
                filename=source_filename,
                line_offset=0,
            )
        except (SyntaxError, IndentationError) as e:
            try:
                parseSourceCodeToAst(
                    source_code=original_source_code,
                    module_name=module_name,
                    filename=source_filename,
                    line_offset=0,
                )
            except (SyntaxError, IndentationError):
                # Also an exception without the plugins, that is OK
                pass
            else:
                source_diff = getSourceCodeDiff(original_source_code, source_code)
                for line in source_diff:
                    plugins_logger.warning(line)
                if len(contributing_plugins) == 1:
                    contributing_plugins[0].sysexit(
                        "Making changes to '%s' that cause SyntaxError '%s'"
                        % (module_name, e)
                    )
                else:
                    test_logger.sysexit(
                        "One of the plugins '%s' is making changes to '%s' that cause SyntaxError '%s'"
                        % (",".join(contributing_plugins), module_name, e)
                    )
        my_print(module_name, ":", finding, "OK")
        if module_desc.ispkg:
            METHOD_NAME(module_name, iter_modules([module_filename]))