code: function(e) {
        var t = this,
            branchElem = $(e.currentTarget),
            icon = branchElem.find('i'),
            subElem = branchElem.find('+li'),
            wasClosed = branchElem.hasClass('closed'),
            branchModel = $(e.currentTarget).data('branch'),
            branchId = branchModel.get('id');
  
        // Persist the open/closed state in the model
        branchModel.set('isOpen', wasClosed);
  
        // Animate the height.  Can't do CSS animations, because CSS
        // requires specific start/end points, and can't animate from
        // height:auto to height:0px.
        if (wasClosed) {
          var subElemHeight = subElem.css({height:'auto'}).height();
          subElem.css({height:0});
          branchElem.toggleClass('closed', false);
          subElem.animate({height:subElemHeight}, 200, function(){
            subElem.css({height:'auto'});
  
            // Pre-fetch sub-branches after animation
            if (t.options.preFetch) {
              for (var subBranchId in t.branchViews[branchId].branchViews) {
                t.branchViews[branchId].branchViews[subBranchId].connectMonitor();
              }
            }
  
          });
          icon.attr({class:"icon-caret-down"});
  
          // Tell this branch view to connect the monitor if necessary
          t.branchViews[branchId].connectMonitor();
        } else {
          subElem.animate({height:0}, 200, function() {
            branchElem.toggleClass('closed', true);
          });
          icon.attr({class:"icon-caret-right"});
        }
        e.stopPropagation();
      }
docs: Called when the open/close icon is selected.