DirectedEdge
shared DirectedEdge<Vertex,E>given Vertex satisfies Objectgiven E satisfies Edge<Vertex,E>
DirectedGraph
shared DirectedGraph<V,E>given V satisfies Objectgiven E satisfies DirectedEdge<V,E>