public bool RemoveNode(ANode node)
{
if (_nodes.Remove(node)) {
if (Root == node) {
Root = null;
}
//remove connections to removed node
for (int i = 0; i < _nodes.Count; ++i) {
var n = _nodes[i] as AFlowNode;
if (n != null) {
for (int j = 0; j < n.NodeCount; ++j) {
if (n.GetNode(j) == node) {
n.RemoveNode(node);
}
}
}
}
return true;
}
return false;
}