     }
     
     /// Access the value associated with the given key.
-    public subscript (key: Key) -> Value? {
+    public subscript(key: Key) -> Value? {
         get {
             return dictionary[key]
         }

            }
        }
    }
}
        return value
    }
    
    public mutating func removeValuesAtRange(range: Range<Index>) -> [Element] {
        let returnArray = [Element]()
        
        let keys = Array(self.keys[range])
        self.keys.removeRange(range)
        
        for key in keys {
            if let value = self.dictionary.removeValueForKey(key) {
                
            }
        }
        
        return returnArray
    }
    
    public mutating func replaceRange<C : CollectionType where C.Generator.Element == Element>(subRange: Range<Int>, with newElements: C) {
        for key in keys[subRange.startIndex...subRange.endIndex] {
            dictionary.removeValueForKey(key)
