private static List <string> GetNodeNeighboorsIds(Graph graph, InternalNodeDijkstra nodeDijkstra, bool directional = false)
        {
            var neighboors = graph.Links.Where(r => r.From == nodeDijkstra.NodeId).Select(r => r.To).ToList();

            if (!directional)
            {
                neighboors.AddRange(graph.Links.Where(r => r.To == nodeDijkstra.NodeId).Select(r => r.From));
            }
            return(neighboors);
        }
            public int CompareTo(object o)
            {
                InternalNodeDijkstra next = (InternalNodeDijkstra)o;

                if (Distance == next.Distance)
                {
                    return(NodeId.CompareTo(next.NodeId));
                }

                if (Distance > next.Distance)
                {
                    return(1);
                }
                return(-1);
            }