 
 	let treeController: TreeController
 	static let dragOperationNone = NSDragOperation(rawValue: 0)
-	private var draggedNodes: [Node]? = nil
+	private var draggedNodes: Set<Node>? = nil
 
 	init(treeController: TreeController) {
 		self.treeController = treeController

			let draggedNonLocalFeed = singleNonLocalFeed(from: draggedFeeds)!
			return acceptSingleNonLocalFeedDrop(outlineView, draggedNonLocalFeed, parentNode, index)
		case .singleLocal:
			let draggedFeed = draggedFeeds.first!
			return acceptSingleLocalFeedDrop(outlineView, draggedFeed, parentNode, index)
		case .multipleLocal:
			return acceptMultipleLocalFeedsDrop(outlineView, draggedFeeds, parentNode, index)
		case .multipleNonLocal, .mixed, .empty:
			return false
		}

		return nil
	}

	private func commonAccountFor(_ nodes: Set<Node>) -> Account? {
		// Return the Account if every node has an Account and they’re all the same.
		var account: Account? = nil
		for node in nodes {
			guard let oneAccount = accountForNode(node) else {
				return nil
			}
			if account == nil {
				account = oneAccount
			}
			else {
				if account != oneAccount {
					return nil
				}
			}
		}
		return account
	}

	private func move(node: Node, to parentNode: Node, account: Account) {
		guard let feed = node.representedObject as? Feed else {
			return
		}
		let sourceContainer = node.parent?.representedObject as? Container
		let destinationFolder = parentNode.representedObject as? Folder
		sourceContainer?.deleteFeed(feed)
		account.addFeed(feed, to: destinationFolder)
	}

	func acceptLocalFeedsDrop(_ outlineView: NSOutlineView, _ draggedFeeds: Set<PasteboardFeed>, _ parentNode: Node, _ index: Int) -> Bool {
		guard let draggedNodes = draggedNodes else {
			return false
		}
		let allReferencedNodes = draggedNodes.union(Set([parentNode]))
		guard let account = commonAccountFor(allReferencedNodes) else {
			return false
		}
		BatchUpdate.shared.perform {
			draggedNodes.forEach { move(node: $0, to: parentNode, account: account) }
		}
		return true
	}

	func nodeIsAccountOrFolder(_ node: Node) -> Bool {
