sclass VirtualThread { volatile Thread realThread; Map> virtualThreadLocalData = weakMap(); void setRealThread(Thread t) { if (realThread != null && realThread != t) failWithVars("Trying to assign virtual thread to 2 threads", +thread1 := realThread, thread2 := t); realThread = t; } }