Returns a value for the given key, or null if there is no
mapping. If this function throws an (unchecked) exception,
the exception is rethrown to its caller, and no mapping is
recorded. Because this function is invoked within
atomicity control, the computation should be short and
simple. The most common usage is to construct a new object
serving as an initial mapped value.