code: public Graph<Node> moduleGraph() {
          Graph.Builder<Node> builder = new Graph.Builder<>();
  
          archives().stream()
              .forEach(m -> {
                  Node u = new Node(m.getName(), Info.REQUIRES);
                  builder.addNode(u);
                  analyzer.requires(m)
                      .map(req -> new Node(req.getName(), Info.REQUIRES))
                      .forEach(v -> builder.addEdge(u, v));
              });
          return builder.build();
      }
docs: Returns a graph of module dependences.
  
  Each Node represents a module and each edge is a dependence.
  No analysis on "requires transitive".