Override the get() method in ThreaedLocal so that it sets a List property on the subclass.
This property can easily be queried to determine if the get() method had been called for a particular thread. You could then access the ThreadLocal to clean it up in that case.