public TwoWayTraveledPathData(Vertex root, Vertex goal)
        {
            this.Frontier1 = new PriorityQueue <Vertex>();
            this.Frontier2 = new PriorityQueue <Vertex>();

            this.Explored1 = new List <Vertex>();
            this.Explored2 = new List <Vertex>();

            this.Root = root;
            this.Goal = goal;

            this.Path1 = new TraveledPathData(root, goal);
            this.Path2 = new TraveledPathData(goal, root);

            this.SEM = new SearchEventManager(root, goal);
        }
        public TwoWayTraveledPathData(Vertex root, Vertex goal)
        {
            this.Frontier1 = new PriorityQueue<Vertex>();
            this.Frontier2 = new PriorityQueue<Vertex>();

            this.Explored1 = new List<Vertex>();
            this.Explored2 = new List<Vertex>();

            this.Root = root;
            this.Goal = goal;

            this.Path1 = new TraveledPathData(root, goal);
            this.Path2 = new TraveledPathData(goal, root);

            this.SEM = new SearchEventManager(root, goal);
        }