private void RemoveNode(Node dead) { if (dead.Equals(home)) { home = null; } if (dead.Equals(destination)) { destination = null; } while (dead.Edges.Length() > 0) { Edge e = dead.Edges[dead.Edges.Length() - 1]; RemoveEdge(e); } nodes.Remove(dead); dead.Stroke.Ink.DeleteStroke(dead.Stroke); }