def get_graph_queue(self, spec: SelectionSpec, preserve_edges: bool = True) -> GraphQueue:
        """Returns a queue over nodes in the graph that tracks progress of
        dependencies.
        """
        # Filtering happens in get_selected
        selected_nodes = self.get_selected(spec)
        # Save to global variable
        selected_resources.set_selected_resources(selected_nodes)
        # Construct a new graph using the selected_nodes
        new_graph = self.full_graph.get_subset_graph(selected_nodes)
        # should we give a way here for consumers to mutate the graph?
        return GraphQueue(new_graph.graph, self.manifest, selected_nodes, preserve_edges)
Returns a queue over nodes in the graph that tracks progress of
        dependencies.
        
core/dbt/graph/selector.py