static private void generateRandomPath(Model.Demand demand)
        {
            Random generator = new Random();

            Model.Vertex begin = demand.Begin;
            Model.Vertex end   = demand.End;

            new_network.resetVertices();
            //Console.WriteLine("Żądanie: " + demand.Begin.Id + " " + demand.End.Id);
            //demand.Path = new Stack<Model.Edge>();
            //Model.Vertex currentVertex = begin;
            //do
            //{
            //    Model.Edge currentEdge = currentVertex.getRandomEdgeOut();
            //    if (!currentVertex.Visited && currentEdge != null)
            //    {
            //        currentVertex.Visited = true;
            //        demand.Path.Push(currentEdge);
            //        currentVertex = currentEdge.End;
            //        Console.WriteLine(currentEdge.Begin.Id + " -> " + currentEdge.End.Id);
            //    }
            //    else
            //    {
            //        currentVertex.Visited = true;
            //        Model.Vertex tmp = currentVertex;
            //        currentVertex = demand.Path.Pop().Begin;
            //        currentVertex.Visited = false;

            //        Console.WriteLine(currentVertex.Id + " <- " + tmp.Id);
            //    }


            //} while (demand.Path.Peek().End != end);
            Stack <Model.Vertex> path = new Stack <Model.Vertex>();

            demand.Path = new Stack <Model.Edge>();
            path.Push(begin);
            while (path.Peek() != end)
            {
                Model.Vertex currentVertex = path.Peek();
                Model.Edge   currentEdge   = currentVertex.getRandomEdgeOut();
                if (!currentVertex.Visited && currentEdge != null)
                {
                    //Console.WriteLine(currentEdge.Begin.Id + " -> " + currentEdge.End.Id);
                    demand.Path.Push(currentEdge);
                    path.Push(currentEdge.End);
                }
                else
                {
                    demand.Path.Pop();
                    path.Pop();
                    Model.Vertex tmp = path.Peek();
                    //Console.WriteLine(tmp.Id + " <- " + currentVertex.Id);
                    path.Peek().Visited = false;
                }
                currentVertex.Visited = true;
            }
        }