From 90530620ffbf9a7696e8645b4b83d71fa9f8103f Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Fri, 8 Jul 2016 15:22:29 +0200
Subject: [PATCH] OO-2093: prevent loop in loop

---
 .../user/UsermanagerUserSearchController.java     | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/src/main/java/org/olat/admin/user/UsermanagerUserSearchController.java b/src/main/java/org/olat/admin/user/UsermanagerUserSearchController.java
index 6135e815d26..b60a15a8b8f 100644
--- a/src/main/java/org/olat/admin/user/UsermanagerUserSearchController.java
+++ b/src/main/java/org/olat/admin/user/UsermanagerUserSearchController.java
@@ -30,8 +30,10 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import org.olat.admin.user.bulkChange.UserBulkChangeManager;
 import org.olat.admin.user.bulkChange.UserBulkChangeStep00;
@@ -352,15 +354,12 @@ public class UsermanagerUserSearchController extends BasicController implements
 	 * @param tobeAddedIdentities
 	 */
 	public void addIdentitiesToSearchResult(UserRequest ureq, List<Identity> tobeAddedIdentities) {
+		Set<Identity> identitiesSet = new HashSet<>();
+		if(identitiesList != null) {
+			identitiesSet.addAll(identitiesList);
+		}
 		for (Identity toBeAdded : tobeAddedIdentities) {
-			boolean found = false;
-			for (Identity original : identitiesList) {
-				if (original.getKey().equals(toBeAdded.getKey())) {
-					found = true;
-					break;
-				}
-			}
-			if (!found) {
+			if (!identitiesSet.contains(toBeAdded)) {
 				identitiesList.add(toBeAdded);
 			}
 		}
-- 
GitLab