Fixed Memoize CacheKey (used broken equals and hashcode)