summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/c2kernel/entity/proxy/EntityProxyManager.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/main/java/com/c2kernel/entity/proxy/EntityProxyManager.java b/src/main/java/com/c2kernel/entity/proxy/EntityProxyManager.java
index 192a984..9f134f0 100644
--- a/src/main/java/com/c2kernel/entity/proxy/EntityProxyManager.java
+++ b/src/main/java/com/c2kernel/entity/proxy/EntityProxyManager.java
@@ -129,10 +129,11 @@ public class EntityProxyManager
DomainPath parent; boolean first = true;
synchronized(treeSubscribers) {
while((parent = last.getParent()) != null) {
-
- for (DomainPathSubscriber sub : treeSubscribers.keySet()) {
+ ArrayList<DomainPathSubscriber> currentKeys = new ArrayList<DomainPathSubscriber>();
+ currentKeys.addAll(treeSubscribers.keySet());
+ for (DomainPathSubscriber sub : currentKeys) {
DomainPath interest = treeSubscribers.get(sub);
- if (interest.equals(parent)) {
+ if (interest!= null && interest.equals(parent)) {
if (state == ProxyMessage.ADDED)
sub.pathAdded(last);
else if (first)