                 
                 if hadBinary {
                     hasBinary = true
-                    placeholders += dictArrs!.count
+                    placeholders += dictArrs.count
                     replacementArr[g] = nestDict
-                    datas.extend(dictArrs!)
+                    arrayDatas.extend(dictArrs)
                 } else {
                     replacementArr[g] = dict
                 }
             } else if let nestArr = arr[g] as? NSArray {
                 // Recursive
-                recurse = true
                 let (nested, hadBinary, nestDatas) = self.parseArray(nestArr, placeholders: placeholders)
                 
                 if hadBinary {
                     hasBinary = true
-                    placeholders += nestDatas!.count
+                    placeholders += nestDatas.count
                     replacementArr[g] = nested
-                    datas.extend(nestDatas!)
+                    arrayDatas.extend(nestDatas)
                 } else {
                     replacementArr[g] = arr[g]
                 }

    }
    
    // Parse an NSArray looking for binary data
    class func parseArray(arr:NSArray, var placeholders:Int) -> (NSArray, Bool, [NSData]?) {
        var replacementArr = [AnyObject](count: arr.count, repeatedValue: 1)
        var hasBinary = false
        var recurse = false
        var datas = [NSData]()
        
        if placeholders == -1 {
            placeholders = 0

                
                if hadData {
                    hasBinary = true
                    numberOfPlaceholders += emitDatas.count
                    
                    for data in newDatas {
                        emitDatas.append(data)
                    }
                    
                    items[i] = replace
