public Node AddArc(Node child, int weigth) { arcs.Add(new Arc(weigth, this, child)); if (!child.arcs.Exists(a => a.parent == child && a.child == this)) { child.AddArc(this, weigth); } return this; }