code: public Set<Vertex> dfs(Action<Vertex> onEntry,
  			   Action<Vertex> onExit) {
  	return (new ClosureDFS<Vertex>()).doIt(getRoots(),
  					       getForwardNavigator(),
  					       onEntry,
  					       onExit);
      }
docs: DFS traversal of <code>this</code> digraph.  The traversal may
  be stoped at any point by throwing an {@link
  jpaul.DataStructs.InterruptTraversalException
  InterruptTraversalException} from one of the visitors (the
  arguments of this method); the exception is caught internally
  by the implementation of this method.
  
  @param onEntry action executed when a node is first time
  visited by the DFS traversal
  
  @param onExit action executed after the DFS traversal of a
  node finished
  
  @return Set of visited vertices.  The caller is free to mutate
  the returned set.