class DirectedGraph {

    public Set<Vertex<E>> to(Vertex<E> v) throws DirectedGraphException
    {
        if (findVertexInGraph(v) == null) { throw new DirectedGraphException(
                "vertex does not exist in graph"); }
        Set<Vertex<E>> result = new HashSet<Vertex<E>>();
        for (Vertex<E> u : vertices)
        {
            try
            {
                if (!u.equals(v) && from(u).contains(v))
                {
                    result.add(u);
                }
            }
            catch (DirectedGraphException e)
            {
                throw e; // this should never happen since u is right out of vertices.
            }
        }
        return result;
    }

    public  DirectedGraph();

}