code: function(node, opt, animating) {
         var that = this, 
         viz = this.viz, 
         canvas = viz.canvas,
         config = this.config,
         ctx = canvas.getCtx();
         var nodeAlpha = node.getData('alpha');
         node.eachSubnode(function(elem) {
           if(opt.plotSubtree(node, elem) && elem.exist && elem.drawn) {
               var adj = node.getAdjacency(elem.id);
               !animating && opt.onBeforePlotLine(adj);
               ctx.globalAlpha = Math.min(nodeAlpha, elem.getData('alpha'));
               that.plotLine(adj, canvas, animating);
               !animating && opt.onAfterPlotLine(adj);
               that.plotTree(elem, opt, animating);
           }
         });
         if(node.drawn) {
             !animating && opt.onBeforePlotNode(node);
             this.plotNode(node, canvas, animating);
             !animating && opt.onAfterPlotNode(node);
             if(!opt.hideLabels && opt.withLabels && nodeAlpha >= 0.95) 
                 this.labels.plotLabel(canvas, node, opt);
             else 
                 this.labels.hideLabel(node, false);
         } else {
             this.labels.hideLabel(node, true);
         }
     }
docs: /*
  Plots a Subtree.