public IEnumerable <Vertex <T> > GetShortestPathBetween(T from, T to) { if (TryGetVertex(to, out Vertex <T> toVertex) && TryGetVertex(from, out Vertex <T> fromVertex)) { if (!this.IsDirected && !this.IsWeighted) { return(BreadthFirstSearch.GetShortestPathBetween(this, fromVertex, toVertex)); } } else { throw new VertexNotFoundException(); } throw new NotImplementedException(); }