public bool RemovePrevious(PathNode previous) { if (previousNodes.Remove(previous)) { previous.RemoveNext(this); if (Graph) { Graph.MaybeOrphan(this); } return(true); } else { return(false); } }