       else
         false
 
-  # Public: Destroys all items and destroys the pane.
+  # Public: Destroy all items.
   destroyItems: ->
     @destroyItem(item) for item in @getItems()
 
-  # Public: Destroys all items but the active one.
+  # Public: Destroy all items except for the active item.
   destroyInactiveItems: ->
     @destroyItem(item) for item in @getItems() when item isnt @activeItem
 
+  # Public: Destroy the pane and all its items.
+  #
+  # If this is the last pane, all the items will be destroyed but the pane
+  # itself will not be destroyed.
   destroy: ->
     if @container?.isAlive() and @container.getPanes().length is 1
       @destroyItems()

    else
      @activateItemAtIndex(@items.length - 1)

  # Returns the index of the current active item.
  getActiveItemIndex: ->
    @items.indexOf(@activeItem)

  # Makes the item at the given index active.
  activateItemAtIndex: (index) ->
    @activateItem(@itemAtIndex(index))

  # Makes the given item active, adding the item if necessary.
  activateItem: (item) ->
    if item?
      @addItem(item)
      @setActiveItem(item)

  # Public: Adds the item to the pane.
  #
  # * `item` The item to add. It can be a model with an associated view or a view.
  # * `index` (optional) {Number} at which to add the item. If omitted, the item is
  #   added after the current active item.
  #
  # Returns the added item
  addItem: (item, index=@getActiveItemIndex() + 1) ->
    return if item in @items



  # Public: Creates a new pane below the receiver.
  #
  # * `params` (optional) {Object} with the following keys:
  #   * `items` (optional) {Array} of items to add to the new pane.
  #
  # Returns the new {Pane}.
  splitDown: (params) ->
