 
 	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
		}

	// MARK: - Drag and Drop

	func outlineView(_ outlineView: NSOutlineView, draggingSession session: NSDraggingSession, willBeginAt screenPoint: NSPoint, forItems draggedItems: [Any]) {
		draggedNodes = Set(draggedItems.map { nodeForItem($0) })
	}

	func outlineView(_ outlineView: NSOutlineView, validateDrop info: NSDraggingInfo, proposedItem item: Any?, proposedChildIndex index: Int) -> NSDragOperation {
