def METHOD_NAME(
    self,
    source_dir: str,
    local_graph_class: Type[TerraformLocalGraph] = TerraformLocalGraph,
    render_variables: bool = True,
    parsing_errors: dict[str, Exception] | None = None,
    download_external_modules: bool = False,
    excluded_paths: list[str] | None = None,
    external_modules_download_path: str = DEFAULT_EXTERNAL_MODULES_DIR,
    vars_files: list[str] | None = None,
    create_graph: bool = True,
) -> list[tuple[TerraformLocalGraph | None, list[dict[TFDefinitionKey, dict[str, Any]]]]]:
    logging.info("Parsing HCL files in source dir to multi graph")
    modules_with_definitions = self.parser.parse_multi_graph_hcl_module(
        source_dir=source_dir,
        source=self.source,
        download_external_modules=download_external_modules,
        external_modules_download_path=external_modules_download_path,
        parsing_errors=parsing_errors,
        excluded_paths=excluded_paths,
        vars_files=vars_files,
        create_graph=create_graph,
    )
    graphs: list[tuple[TerraformLocalGraph | None, list[dict[TFDefinitionKey, dict[str, Any]]]]] = []
    for module, tf_definitions in modules_with_definitions:
        if create_graph and module:
            logging.info("Building graph from parsed module")
            local_graph = local_graph_class(module)
            local_graph.build_graph(render_variables=render_variables)
            graphs.append((local_graph, tf_definitions))
    return graphs