code: public BiDiNavigator<Vertex> getBiDiNavigator() {
  	if(CACHING && (cachedNavigator != null))
  	    return cachedNavigator;
  
  	BiDiNavigator<Vertex> navigator = 
  	    constructBiDiNavigator(RelFacts.<Vertex,Vertex>mapSet());
  
  	if(CACHING) {
  	    cachedNavigator = navigator;
  	}
  
  	return navigator;
      }
docs: Returns the (bi-directional) navigator for <code>this</code>
  digraph.  The default implementation gets the forward
  navigator by calling <code>getForwardNavigator</code>,
  explores the entire digraph and constructs the predecessor
  relation.  Clearly, this is quite costly, and does not
  terminate for infinite digraphs.
  
  <p><strong>Note:</strong> You MUST overwrite at least one of
  <code>getBiDiNavigator</code> and
  <code>getForwardNavigator</code>.