Bug 372181 - Working set support for Expressions View

- Added a limit to the number of saved working sets entries.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java
index 4185c79..f5896f6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java
@@ -96,6 +96,9 @@
 	// The preference name for saving fWorkingSetMementos.
 	private static final String PREF_ELEMENT_WORKINGSET_MEMENTOS = DebugUIPlugin.getUniqueIdentifier() + ".workingSetMementos"; //$NON-NLS-1$
 
+	// Limit on the number of entries in the working sets / selection map.
+	private static final int MAX_WORKING_SETS_MEMENTOS = 100;
+	
 	private static final IWorkingSet[] EMPTY_WORKING_SETS = new IWorkingSet[0];
 	
     private PasteWatchExpressionsAction fPasteAction;
@@ -105,7 +108,13 @@
     
 	private boolean fAutoSelectnWorkingSets = true;
 
-	private Map fWorkingSetMementos = new LinkedHashMap();
+	private Map fWorkingSetMementos = new LinkedHashMap(16, (float)0.75, true) {
+		private static final long serialVersionUID = 1L;
+
+		protected boolean removeEldestEntry(java.util.Map.Entry eldest) {
+			return size() > MAX_WORKING_SETS_MEMENTOS;
+		}
+	};
     
 	private Set fPendingCompareRequests;