thread local must be static final