code: public int numVertices() {
  	if(CACHING && (cachedNumVertices != -1)) {
  	    return cachedNumVertices;
  	}	
  	int numVertices = vertices().size();       
  	if(CACHING) {
  	    cachedNumVertices = numVertices;
  	}
  	return numVertices;
      }
docs: Returns the number of vertices in <code>this</code> directed
  graph.
  
  Complexity: linear in the size of the graph.  Cached if the
  <code>CACHING</code> argument to the constructor was true.