\r
import java.io.Serializable;\r
import java.util.HashMap;\r
+import java.util.Iterator;\r
import java.util.LinkedHashSet;\r
import java.util.Map;\r
import java.util.Set;\r
@Override\r
protected void removeApplication(Application application) {\r
portletListeners.remove(application);\r
- for (Portlet key : portletToApplication.keySet()) {\r
- if (portletToApplication.get(key) == application) {\r
- portletToApplication.remove(key);\r
+ for (Iterator<Application> it = portletToApplication.values()\r
+ .iterator(); it.hasNext();) {\r
+ Application value = it.next();\r
+ if (value == application) {\r
+ // values().iterator() is backed by the map\r
+ it.remove();\r
}\r
}\r
super.removeApplication(application);\r