static AutoCloseable tempSetThreadLocalIfNecessary(ThreadLocal tl, A a) {
if (tl == null) null;
A prev = tl.get();
if (eq(prev, a)) null;
tl.set(a);
ret autoCloseable { tl.set(prev); };
}
static AutoCloseable tempSetThreadLocalIfNecessary(x30_pkg.x30_util.BetterThreadLocal tl, A a) {
if (tl == null) null;
A prev = tl.get();
if (eq(prev, a)) null;
tl.set(a);
ret autoCloseable { tl.set(prev); };
}