diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/dataset/DataSetServiceImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/dataset/DataSetServiceImpl.java index bbb5fcc5a3..3fe3de2881 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/dataset/DataSetServiceImpl.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/dataset/DataSetServiceImpl.java @@ -7,7 +7,9 @@ import java.io.Reader; import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; +import java.util.Iterator; import java.util.Map; +import java.util.Map.Entry; import java.util.Set; import org.alfresco.error.AlfrescoRuntimeException; @@ -315,12 +317,14 @@ public class DataSetServiceImpl implements DataSetService, RecordsManagementMode // Filter the data sets which have already been loaded @SuppressWarnings("unchecked") ArrayList loadedDataSetIds = (ArrayList) dataSetIds; - for (Map.Entry entry : availableDataSets.entrySet()) + Iterator> iterator = availableDataSets.entrySet().iterator(); + while (iterator.hasNext()) { + Entry entry = iterator.next(); String key = entry.getKey(); if (!loadedDataSetIds.contains(key)) { - availableDataSets.remove(key); + iterator.remove(); } } return availableDataSets;