Bug 126726 - Show Monitors not working
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/IJavaDebugUIConstants.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/IJavaDebugUIConstants.java
index 1ce3fdc..f01f58f 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/IJavaDebugUIConstants.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/IJavaDebugUIConstants.java
@@ -71,7 +71,6 @@
 
 	/**
 	 * Boolean preference indicating whether system threads should appear visible in the debug view.
-	 * A view may override this preference, and if so, stores its preference, prefixed by view id.
 	 * 
 	 * @since 3.2
 	 */	
@@ -79,7 +78,6 @@
 
 	/**
 	 * Boolean preference indicating whether thread groups should be displayed in the debug view.
-	 * A view may override this preference, and if so, stores its preference, prefixed by view id.
 	 * 
 	 * @since 3.2
 	 */	
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBooleanPreferenceAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBooleanPreferenceAction.java
index b9c3908..65ed54f 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBooleanPreferenceAction.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBooleanPreferenceAction.java
@@ -38,8 +38,9 @@
 		final StructuredViewer viewer = getStructuredViewer();
 		BusyIndicator.showWhile(viewer.getControl().getDisplay(), new Runnable() {
 			public void run() {
+				// note, this uses the pref key, not the composite key - the prefs are global, not view specific.
 				IPreferenceStore store = getPreferenceStore();
-				store.setValue(getCompositeKey(), getValue());			
+				store.setValue(getPreferenceKey(), getValue());			
 				viewer.refresh();
 			}
 		});
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/threadgroups/JavaDebugTargetContentAdapter.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/threadgroups/JavaDebugTargetContentAdapter.java
index 707de41..c001bc1 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/threadgroups/JavaDebugTargetContentAdapter.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/threadgroups/JavaDebugTargetContentAdapter.java
@@ -29,7 +29,7 @@
     protected Object[] getChildren(Object parent, IPresentationContext context) throws CoreException {
 		String id = context.getPart().getSite().getId();
 		if (IDebugUIConstants.ID_DEBUG_VIEW.equals(id)) {
-			if (isShowThreadGroups(context)) {
+			if (isShowThreadGroups()) {
 				if (parent instanceof IJavaDebugTarget) {
 					IJavaDebugTarget target = (IJavaDebugTarget) parent;
 					return target.getRootThreadGroups();
@@ -40,16 +40,12 @@
 	}
 	
 	/**
-	 * Returns whether thread groups are being displayed.
+	 * Returns whether thread groups are being displayed (in the debug view)
 	 * 
 	 * @return whether thread groups are being displayed
 	 */
-	protected static boolean isShowThreadGroups(IPresentationContext context) {
-		String compositeKey = context.getPart().getSite().getId() + "." + IJavaDebugUIConstants.PREF_SHOW_THREAD_GROUPS;		 //$NON-NLS-1$
+	protected static boolean isShowThreadGroups() {
 		Preferences pluginPreferences = JDIDebugUIPlugin.getDefault().getPluginPreferences();
-		if (pluginPreferences.contains(compositeKey)) {
-			return pluginPreferences.getBoolean(compositeKey);
-		}
 		return pluginPreferences.getBoolean(IJavaDebugUIConstants.PREF_SHOW_THREAD_GROUPS);
 	}
 
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/threadgroups/JavaThreadEventHandler.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/threadgroups/JavaThreadEventHandler.java
index 8feee30..783d5ee 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/threadgroups/JavaThreadEventHandler.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/threadgroups/JavaThreadEventHandler.java
@@ -39,7 +39,7 @@
 	}
 	
 	protected ModelDelta addPathToThread(ModelDelta delta, IThread thread) {
-		if (JavaDebugTargetContentAdapter.isShowThreadGroups(getModelProxy().getPresentationContext())) {
+		if (JavaDebugTargetContentAdapter.isShowThreadGroups()) {
 			delta = delta.addNode(thread.getLaunch(), IModelDelta.NO_CHANGE);
 			delta = delta.addNode(thread.getDebugTarget(), IModelDelta.NO_CHANGE);
 			List groups = new ArrayList();