From fc1513734dd537bb62efbd88e352bb49357e943b Mon Sep 17 00:00:00 2001 From: Damian Minkov Date: Wed, 2 Apr 2014 10:30:34 +0300 Subject: [PATCH] Creates new Iterator when returning the root subgroups as we are iterating it simultaneously on different locations and we can see from time to time ConcurrentModificationException. --- .../impl/protocol/jabber/RootContactGroupJabberImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/RootContactGroupJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/RootContactGroupJabberImpl.java index c98a6b129..7a67870b7 100755 --- a/src/net/java/sip/communicator/impl/protocol/jabber/RootContactGroupJabberImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/RootContactGroupJabberImpl.java @@ -36,6 +36,9 @@ public class RootContactGroupJabberImpl */ private Map contacts = new Hashtable(); + /** + * The provider. + */ private final ProtocolProviderServiceJabberImpl protocolProvider; /** @@ -201,7 +204,7 @@ ContactJabberImpl findContact(String id) */ public Iterator subgroups() { - return subGroups.iterator(); + return new ArrayList(subGroups).iterator(); } /**