         }
         return 0
     }
+    
+    // Cut / Copy / Paste.  All three methods must be implemented by the delegate.
     
     func tableView(tableView: UITableView, shouldShowMenuForRowAtIndexPath indexPath: NSIndexPath) -> Bool {
         if let item = self.itemAtIndexPath(indexPath) {

        return false
    }
    
    func tableView(tableView: UITableView, canMoveRowAtIndexPath indexPath: NSIndexPath) -> Bool {
        if let item = self.itemAtIndexPath(indexPath) {
            return item.moveHandler != nil
        }
        return false
    }
    
    func sectionIndexTitlesForTableView(tableView: UITableView) -> [AnyObject]! {
        if !self.showsIndexList {

    // Display customization
    
    optional func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath)
    optional func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int)
    optional func tableView(tableView: UITableView, willDisplayFooterView view: UIView, forSection section: Int)
    optional func tableView(tableView: UITableView, didEndDisplayingCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath)
    optional func tableView(tableView: UITableView, didEndDisplayingHeaderView view: UIView, forSection section: Int)
    optional func tableView(tableView: UITableView, didEndDisplayingFooterView view: UIView, forSection section: Int)
    */
    
    // Variable height support
    
    func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
        if let item = self.itemAtIndexPath(indexPath) {
