@override Set<Node> getNodeEdges(Node node) { if (!containsNode(node.key)) { throw StateError('Node "${node.key}" does not exist in graph'); } return Set.unmodifiable(_edges[node] ?? <Node>{}); }