diff --git a/platform/util/src/com/intellij/util/messages/impl/MessageBusConnectionImpl.java b/platform/util/src/com/intellij/util/messages/impl/MessageBusConnectionImpl.java index 2f0ec718bf36..ecbc66b22b8c 100644 --- a/platform/util/src/com/intellij/util/messages/impl/MessageBusConnectionImpl.java +++ b/platform/util/src/com/intellij/util/messages/impl/MessageBusConnectionImpl.java @@ -34,12 +34,7 @@ public class MessageBusConnectionImpl implements MessageBusConnection { private static final Logger LOG = Logger.getInstance("#com.intellij.util.messages.impl.MessageBusConnectionImpl"); private final MessageBusImpl myBus; - private final ThreadLocal> myPendingMessages = new ThreadLocal>() { - @Override - protected Queue initialValue() { - return new ConcurrentLinkedQueue(); - } - }; + private final ThreadLocal> myPendingMessages = new QueueThreadLocal(); private MessageHandler myDefaultHandler; private final Map mySubscriptions = new HashMap(); @@ -129,4 +124,11 @@ public class MessageBusConnectionImpl implements MessageBusConnection { public String toString() { return mySubscriptions.keySet().toString(); } + + private static class QueueThreadLocal extends ThreadLocal> { + @Override + protected Queue initialValue() { + return new ConcurrentLinkedQueue(); + } + } }