private void fixThreadManager(Object manager, ThreadDecoratorImpl decorator, String managerSource)
{
if (manager instanceof ThreadManager)
{
ThreadManager threadManager = (ThreadManager) manager;
ThreadDecorator existing = threadManager.getThreadDecorator();
if (existing instanceof ThreadDecoratorImpl)
{
// already been handled
return;
}
else if (existing != null)
{
// someone else has added one; integrate with it
decorator.setParent(existing);
}
threadManager.setThreadDecorator(decorator);
}
else
{
log.warn(managerSource + " is not a ThreadManager");
}