     let memory: Memory
     var children = ScanResult[]()
     var indent = 0
+    var color: Term = .Default
     
     init(entry: ScanEntry, parent: ScanResult?, memory: Memory) {
         self.entry = entry

    }
    
    func recursiveDump() {
        var chain = [self]
        while chain.count > 0 {
            let result = chain.removeLast()
            for i in 0..result.indent {
                print("  ")
            }

        self.memory = memory
    }
    
    func dump() {
        if let parent = entry.parent {
            print("(")
            print(self.parent!.color.wrap("\(pad(parent.index, 3)), \(formatPointer(parent.address))@\(pad(entry.parentOffset, 3, align: .Left))"))
            print(") <- ")
        } else {
            print("                                 ")
        }
        
        print(color.wrap("\(pad(entry.index, 3)) \(formatPointer(entry.address))"))
        print(": ")
        
        print("\(pad(memory.buffer.count, 5)) bytes ")
