When and how should I use a ThreadLocal variable? When and how should I use a ThreadLocal variable? java java