From a3d98967bc69cb0273ff86b0d14de965af6c02ec Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Wed, 11 Feb 2015 15:43:29 +0100
Subject: [PATCH] OO-1434: loop a copy of the map which is clean up to prevent
 concurrent modification exception

---
 src/main/java/org/olat/core/util/mail/ContactMessage.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/olat/core/util/mail/ContactMessage.java b/src/main/java/org/olat/core/util/mail/ContactMessage.java
index 55cab89a525..6362cd6dd87 100644
--- a/src/main/java/org/olat/core/util/mail/ContactMessage.java
+++ b/src/main/java/org/olat/core/util/mail/ContactMessage.java
@@ -103,7 +103,9 @@ public class ContactMessage {
 	}
 	
 	private ContactList cleanEMailList(ContactList emailList) {
-		for (Identity identity: emailList.getIdentiEmails().values()) {
+		Identity[] identityMails = emailList.getIdentiEmails().values()
+				.toArray(new Identity[emailList.getIdentiEmails().size()]);
+		for (Identity identity:identityMails) {
 			if(MailHelper.isDisabledMailAddress(identity, null)) {
 				emailList.remove(identity);
 				if(!disabledIdentities.contains(identity)) {
-- 
GitLab