What does `ThreadLocal` do and what is a common pitfall? | LetsGit.IT