code: function(){
      if(this.busy)
        return;
  
      var that = this,
          GUtil = Graph.Util,
          config = this.config,
          graph = this.graph,
          parents = GUtil.getParents(graph.getNode(this.clickedNode && this.clickedNode.id || this.root)),
          parent = parents[0],
          clickedNode = parent,
          previousClickedNode = this.clickedNode;
  
      this.busy = true;
      this.events.hoveredNode = false;
  
      if(!parent) {
        this.busy = false;
        return;
      }
  
      //final plot callback
      callback = {
        onComplete: function() {
          that.clickedNode = parent;
          if(config.request) {
            that.requestNodes(parent, {
              onComplete: function() {
                that.compute();
                that.plot();
                that.busy = false;
              }
            });
          } else {
            that.compute();
            that.plot();
            that.busy = false;
          }
        }
      };
  
      //animate node positions
      if(config.animate) {
        this.clickedNode = clickedNode;
        this.compute('end');
        //animate the visible subtree only
        this.clickedNode = previousClickedNode;
        this.fx.animate({
          modes:['linear', 'node-property:width:height'],
          duration: 1000,
          onComplete: function() {
            //animate the parent subtree
            that.clickedNode = clickedNode;
            //change nodes alpha
            graph.nodeList.setDataset(['current', 'end'], {
              'alpha': [0, 1]
            });
            GUtil.eachSubgraph(previousClickedNode, function(node) {
              node.setData('alpha', 1);
            }, "ignore");
            that.fx.animate({
              duration: 500,
              modes:['node-property:alpha'],
              onComplete: function() {
                callback.onComplete();
              }
            });
          }
        });
      } else {
        callback.onComplete();
      }
    }
docs: /*
  Method: out
  
  Sets the parent node of the current selected node as root.