Correct me if I am wrong but, it appears that the new ThreadLocal example in b99 code has a bug in the getCurrentThreadId method. It returns the value of the counter (uniqueId) and not the value from thread local (uniqueNum). June archives of the c-i list has the old traffic on this issue. Regards, Jason Mehrens