scope ping_v3. static ThreadLocal #forThread = new ThreadLocal() { public PingSource initialValue() { ret ping_v3_pingSourceMaker()!; } }; // always returns true for convenience sbool ping_v3() { var source = forThread!; callF(source?.action); true; }