internal bool RoutesAreConsistent()
        {
            var usedEdges  = new Set <SymmetricSegment>(PathRouter.UsedEdges());
            var routesDump =
                new Set <SymmetricSegment>(_edgeTrajectories.Select(p => p.Value).SelectMany(SymSegsOfPointList));
            var visEdgeDump =
                new Set <SymmetricSegment>(
                    PathRouter.VisGraph.Edges.Select(e => new SymmetricSegment(e.SourcePoint, e.TargetPoint)));

// #if DEBUG && !SHARPKIT
//             foreach (var s in routesDump - visEdgeDump)
//                 Console.WriteLine("{0} is in routes but no in vis graph", s);
//             foreach (var s in visEdgeDump - routesDump)
//                 Console.WriteLine("{0} is in visgraph but no in routes", s);
//             var routesOutOfVisGraph = routesDump - visEdgeDump;
//             if (routesOutOfVisGraph.Count > 0) {
//                 SplineRouter.ShowVisGraph(PathRouter.VisGraph, null,null, Ttt(routesOutOfVisGraph));
//             }
//             foreach (var s in usedEdges - routesDump)
//                 Console.WriteLine("{0} is in usedEdges but not in routes", s);
//
//             foreach (var s in routesDump - usedEdges)
//                 Console.WriteLine("{0} is in routes but not in usedEdges", s);
//
// #endif
            return(routesDump == visEdgeDump && usedEdges == routesDump);
        }
        internal bool RoutesAreConsistent()
        {
            var usedEdges  = new Set <SymmetricSegment>(PathRouter.UsedEdges());
            var routesDump =
                new Set <SymmetricSegment>(_edgeTrajectories.Select(p => p.Value).SelectMany(SymSegsOfPointList));
            var visEdgeDump =
                new Set <SymmetricSegment>(
                    PathRouter.VisGraph.Edges.Select(e => new SymmetricSegment(e.SourcePoint, e.TargetPoint)));

#if TEST_MSAGL && !SHARPKIT
            var routesOutOfVisGraph = routesDump - visEdgeDump;
            if (routesOutOfVisGraph.Count > 0)
            {
                SplineRouter.ShowVisGraph(PathRouter.VisGraph, null, null, Ttt(routesOutOfVisGraph));
            }
#endif
            return(routesDump == visEdgeDump && usedEdges == routesDump);
        }