code: public DiGraph<Vertex> subDiGraph(final Collection<Vertex> verts) {
  	final BiDiNavigator<Vertex> origNav = this.getBiDiNavigator();
  	return DiGraph.diGraph
  	    (verts,
  	     new BiDiNavigator<Vertex>() {
  		public List<Vertex> next(Vertex v) {
  		    return
  			(List<Vertex>)
  			diff(origNav.next(v), verts, new LinkedList<Vertex>());
  		}
  		public List<Vertex> prev(Vertex v) {
  		    return
  			(List<Vertex>)
  			diff(origNav.prev(v), verts, new LinkedList<Vertex>());
  		}
  		
  		private <T> Collection<T> diff(Iterable<T> a,
  					       Collection<T> b,
  					       Collection<T> res) {
  		    for(T t : a) {
  			if(b.contains(t)) {
  			    res.add(t);
  			}
  		    }
  		    return res;
  		}
  	    });
      }
docs: Returns a subgraph of <code>this</code> directed graph
  containing only the vertices from <code>verts</code>.