class DirectedGraph {

    protected void topoSort(final Vertex<E> v, Vector<Vertex<E>> visited)
    {
        for (Vertex<E> a : getAdjacentVertices(v))
        {
            if (!visited.contains(a))
            {
                topoSort(a, visited);
            }
        }
        visited.insertElementAt(v, 0);
    }

    public  DirectedGraph();

}