     }
     
     func tableView(tableView: UITableView, performAction action: Selector, forRowAtIndexPath indexPath: NSIndexPath, withSender sender: AnyObject?) {
-        if let item = self.itemAtIndexPath(indexPath), let section = self.sectionAtIndexPath(indexPath) {
-            if let copyHandler = item.copyHandler where action == Selector("copy:") {
-                copyHandler(section: section, item: item, tableView: tableView, indexPath: indexPath)
-            }
-            if let pasteHandler = item.pasteHandler where action == Selector("paste:") {
-                pasteHandler(section: section, item: item, tableView: tableView, indexPath: indexPath)
-            }
-            if let cutHandler = item.cutHandler where action == Selector("cut:") {
-                cutHandler(section: section, item: item, tableView: tableView, indexPath: indexPath)
-            }
+        guard let item = self.itemAtIndexPath(indexPath), let section = self.sectionAtIndexPath(indexPath) else {
+            return
+        }
+        if let copyHandler = item.copyHandler where action == Selector("copy:") {
+            copyHandler(section: section, item: item, tableView: tableView, indexPath: indexPath)
+        }
+        if let pasteHandler = item.pasteHandler where action == Selector("paste:") {
+            pasteHandler(section: section, item: item, tableView: tableView, indexPath: indexPath)
+        }
+        if let cutHandler = item.cutHandler where action == Selector("cut:") {
+            cutHandler(section: section, item: item, tableView: tableView, indexPath: indexPath)
         }
     }
 }
    }
    
    func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) {
        if let section = self.sectionAtIndexPath(indexPath), let item = self.itemAtIndexPath(indexPath), let deselectionHandler = item.deselectionHandler {
            deselectionHandler(section: section, item: item, tableView: tableView, indexPath: indexPath)
        }
    }
    
    // Editing

    // Indentation

    func tableView(tableView: UITableView, indentationLevelForRowAtIndexPath indexPath: NSIndexPath) -> Int {
        guard let item = self.itemAtIndexPath(indexPath) else {
            return 0
        }
        return item.indentationLevel
    }
    
    // Cut / Copy / Paste.  All three methods must be implemented by the delegate.
