                 
                 var totalLatitude:Double = 0
                 var totalLongitude:Double = 0
+                
                 var annotations = [MKAnnotation]()
                 
                 tree?.enumerateAnnotationsInBox(mapBox){ obj in

                    cluster.coordinate = coordinate
                    cluster.annotations = annotations
                    
//                    println("cluster.annotations.count:: \(cluster.annotations.count)")
                    
                    clusteredAnnotations.append(cluster)
                }
                
                
            }
            
        }
        
        
        lock.unlock()
        println("")
        println("")
        println("")
        println("")
        
        for (index, cluster) in enumerate(clusteredAnnotations) {
            let fbCluster = cluster as FBAnnotationCluster
            println("index:: \(index) clusteredAnnotations.count:: \(fbCluster.annotations.count) coord:: \(cluster.coordinate.latitude), \(cluster.coordinate.longitude)")
            
        }
        
        return clusteredAnnotations
    }

        before.removeObject(mapView.userLocation)
        var after = NSSet(array: annotations)
        var toKeep = NSMutableSet(set: before)
        toKeep.intersectSet(after as Set<NSObject>)
        var toAdd = NSMutableSet(set: after)
        toAdd.minusSet(toKeep as Set<NSObject>)
        var toRemove = NSMutableSet(set: before)
        toRemove.minusSet(after as Set<NSObject>)
        
        dispatch_async(dispatch_get_main_queue())  {
            mapView.addAnnotations(toAdd.allObjects)
