Extensions for java.lang.ThreadLocal
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
.
fun <T : Any> ThreadLocal<T>.getOrSet(default: () -> T): T