_storage.set(null);
while (i.hasNext())
{
ThreadCleanupListener listener = (ThreadCleanupListener) i.next();
// Each listener may decide to remove itself; that's OK,
// EventListenerList handles that kind of concurrent modification
// well.
try
{
listener.threadDidCleanup();
}
catch (RuntimeException ex)
{
_log.warn(ServiceMessages.threadCleanupException(ex), ex);
}