     }
     
     /** 
-    Sort self in-place according to isOrderedBefore.
+    Sort _self_ in-place according to isOrderedBefore.
      
     The sorting algorithm is not stable (can change the relative order of elements for which isOrderedBefore does not establish an order).
      

            }
        }
    }
}
        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)
