I have several threads that update very frequently - 60 times a second or more - and some of them need the current thread.
I cache a copy of the current thread to avoid frequent calls to getCurrentThread(), which looks like the sort of thing that might be secretly expensive. But looking at my code, it strikes me I could substantially simplify it if I didn't cache getCurrentThread()...