                 // No remote. Node only exists locally.
                 // However! The children might be mentioned in the mirror or
                 // remote tree.
-                log.debug("Node \(guid) only exists locally.")
+                log.verbose("Node \(guid) only exists locally.")
                 return try takeLocalAndMergeChildren(loc)
             }
 

                log.debug("Both local and remote changes to mirror item \(guid). Resolving conflict.")
                return try self.threeWayMerge(guid, localNode: loc, remoteNode: rem, mirrorNode: mirrorNode)
            }
            log.debug("Local-only change to mirror item \(guid).")
            return try takeLocalAndMergeChildren(loc, mirror: mirrorNode)
        }

        if let rem = remoteNode where !rem.isUnknown {
            log.debug("Remote-only change to mirror item \(guid).")
            return try takeRemoteAndMergeChildren(rem, mirror: mirrorNode)
        }

        log.debug("Record \(guid) didn't change from mirror.")
        return try takeMirrorNode(mirrorNode)
    }


        log.debug("Processing \(self.localAllGUIDs.count) local changes and \(self.remoteAllGUIDs.count) remote changes.")
        log.debug("\(self.local.subtrees.count) local subtrees and \(self.remote.subtrees.count) remote subtrees.")
        log.debug("Local is adding \(self.localAdditions.count) records, and remote is adding \(self.remoteAdditions.count).")
        log.debug("Local and remote have \(self.allDeletions.count) deletions.")

        if !conflictingGUIDs.isEmpty {
            log.warning("Expecting conflicts between local and remote: \(conflictingGUIDs.joinWithSeparator(", ")).")
