                 return key.hashValue ^ font.hashValue ^ color.hashValue
             }
         }
-
+        
         @objc public func evict() {
             dispatch_async(queue) {
                 for (key, value) in self.cachedImages {

                }
            }
        }

        public func cachedImageBoxForKey(key: String, font:TRZFont, color:TRZColor) -> AcquireRelinquishBox<TRZImage>? {
            var box:AcquireRelinquishBox<TRZImage>?
            let cacheKey = CacheKey(key: key, font: font, color: color)

                let prevChar = String(characters[prevIndex])
                let nextChar = String(characters[nextIndex])
                
                let prevCharIsDigit = Int(prevChar) != nil
                let nextCharIsDigit = Int(nextChar) != nil
                
                let isUpperCase = { (str:String) in str.uppercaseString == str && str.lowercaseString != str }
                
                if (prevCharIsDigit && nextCharIsDigit) ||
                    (prevCharIsDigit && isUpperCase(nextChar)) ||
                    (nextCharIsDigit && isUpperCase(prevChar)) {
                        return true
                }
            }
        }
