// Gather up the transient nodes from the DependencyGraph.
ArrayList<DependencyGraphEdge> actualEdges = new ArrayList<DependencyGraphEdge>();
DependencyGraphNode rootNode = graph.getRootNode();
Predicate transientDep = NotPredicate.getInstance( new EdgeFromPredicate( rootNode.getArtifact() ) );
Predicate edgeByExactScope = new EdgeExactScopePredicate( scope );
Predicate transitiveEdgesByScopePredicate = AndPredicate.getInstance( transientDep, edgeByExactScope );
CollectionUtils.select( graph.getEdges(), transitiveEdgesByScopePredicate, actualEdges );