sclass FlexThreadLocal extends BetterThreadLocal { static new ThreadLocal motherThread; public A get() { ret isSet() ? super! : get(motherThread()); } static void setMotherThread(Thread t) { motherThread.set(t); } static Thread motherThread() { ret motherThread!; } }