addNode method
Implementation
@override
void addNode(Node node) {
if (node.key.isEmpty) {
throw ArgumentError('Cannot add node with empty key');
}
if (containsNode(node.key)) {
if (node == root) return; // Разрешаем повторное добавление корневого узла
throw StateError('Graph already contains node "${node.key}"');
}
_nodes[node.key] = node;
_invalidateCache();
}