void MarkNodeAsVisisted(Node node) { if (!VisitedNodes.Contains(node)) { VisitedNodes.Enqueue(node); } if (UnvisitedNodes.Contains(node)) { UnvisitedNodes.Remove(node); } }