The cache is a concurrent hash map.  If putting into a map fails there are bigger issues.  I could add an assert to make sure that the value returned is what was expected (eg if we're replacing make sure that we're replacing a mapping that is exactly equal to what we just created).