private static void Visit(Cell newCell, Cell neighbor) { neighbor.Visited = true; newCell.RemoveNeighbor(neighbor); newCell.AddNeighbor(DepthFirstVisit(neighbor.Next())); }