     }
 
     public func removeAll() {
-        self.caches.removeAll(keepCapacity: true) // TODO: keepCapacity
+        self.caches.removeAll(keepCapacity: false)
     }
 }
 

    }

    public func remove(key :String) {
        self.caches.enumerate().map { (index :Int, cache :Cache) -> Void in
            if key == cache.key {
                self.caches.removeAtIndex(index)
                return


    // MARK: - variables

    private final let capacity = 10

    private var caches :Array<Cache<T>> = []

