getOrSet
Gets the value in the current thread's copy of this
thread-local variable or replaces the value with the result of calling
default
function in case if that value was
null
.
If the variable has no value for the current thread,
it is first initialized to the value returned
by an invocation of the
ThreadLocal.initialValue
method.
Then if it is still
null
, the provided
default
function is called and its result
is stored for the current thread and then returned.