docs: function(){
  	ll('Starting final in TermDataStage...');
  
  	// We're done, so hide the progress bar again and show the
  	// order selector.
  	jQuery('#progress-widget').hide();
  	jQuery("#order-selector").show();
  
  	// We want this to be fully defined at the end of the accumulator.
  	var data = {
      	    graph: seen_links,
      	    nodes: [],
      	    links: []
  	};
  
  	// Now we map out term information into the same format as the
  	// example.
  	us.each(term_accs, function(acc){
  	    var node = {
  		'id': acc,
  		'name': term_info[acc]['name'],
  		'source': term_info[acc]['source'],
  		'index': term_info[acc]['index']
  	    };
  	    data.nodes.push(node);
  	});
  
  	// Next, we put our link information into the same format as
  	// the example.
  	var already_done_links = {};
  	us.each(seen_links, function(sub_data, sub){
  	    us.each(sub_data, function(link_count, obj){
  
  		// Only add links that we haven't yet.
  		var li1 = sub + '_' + obj;
  		var li2 = obj + '_' + sub;
  		if( typeof(already_done_links[li1]) === 'undefined' ){
  		    
  		    // Add it to our done list. Either way
  		    // we'll catch it.
  		    already_done_links[li1] = true;
  		    already_done_links[li2] = true;
  		    
  		    // Push the new link data.
  		    var link = {
  			'source': term_info[sub]['index'],
  			'target': term_info[obj]['index'],
  			'value': link_count
  		    };
  		    data.links.push(link);
  		}
  	    });
  	});
  
  	ll(' Seen links: ' + bbop.dump(seen_links));
  	ll(' Data: ' + bbop.dump(data));
  	ll(' Max count: ' + max_count);
  	// //ll(h + ', ' + v + ': ' + count);
  	// ll('accumulate: ' + axis1 + ', ' + axis2 + ': ' + count);
  
  	ll('Completed TermDataStage!');
  	RenderStage(data, max_count);
  	//PlotStage(data, max_count);
      }