Я читал JavaDoc для Threadlocal здесь
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ThreadLocal.html
и это говорит "Примерами ThreadLocal обычно являются частные статические поля в классах, которые хотят связать состояние с потоком (например, идентификатором пользователя или идентификатором транзакции).
Но мой вопрос в том, почему они решили сделать его статическим (как правило) - это заставляет вещи немного запутывать, чтобы иметь состояние "для потока", но поля являются статическими?