 	
 	func canGoToNextUnread() -> Bool {
 		
-		if let _ = rowContainingNextUnread() {
+		if let _ = nextSelectableRowWithUnreadArticle() {
 			return true
 		}
 		return false

		
		row = 0
		while (row <= selectedRow) {
			if rowHasAtLeastOneUnreadArticle(row) {
				return row
			}
			row += 1

		return false
	}

	func rowIsGroupItem(_ row: Int) -> Bool {

		if let node = nodeForRow(row), outlineView.isGroupItem(node) {
			return true
		}
		return false
	}

	func nextSelectableRowWithUnreadArticle() -> Int? {

		// Skip group items, because they should never be selected.

		let selectedRow = outlineView.selectedRow
		let numberOfRows = outlineView.numberOfRows
		var row = selectedRow + 1
		
		while (row < numberOfRows) {
			if rowHasAtLeastOneUnreadArticle(row) && !rowIsGroupItem(row) {
				return row
			}
			row += 1
