             let success = fileManager.removeItemAtPath(path, error:&error)
             if (success) {
                 if let attributes = attributesOpt {
-                    self.size -= Int(attributes.fileSize())
+                    self.size -= attributes.fileSize()
                 }
             } else {
                 println("Failed to remove key \(key) with error \(error!)")

            let modificationDate = attributes.fileModificationDate()
            let fileSize = attributes.fileSize()
            if fileManager.removeItemAtPath(path, error: &error) {
                self.size -= Int(fileSize)
            } else {
                Log.error("Failed to remove file", error)
            }

    
    public let path : String
    
    public var size : UInt64 = 0
    
    public var capacity : UInt64 = 0 {
        didSet {
            dispatch_async(self.cacheQueue, {
                self.controlCapacity()
