Bug 412786 - Contributed JREs should be more recognizable
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/InstalledJREsBlock.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/InstalledJREsBlock.java
index 5cd58cf..2e5e46d 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/InstalledJREsBlock.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/InstalledJREsBlock.java
@@ -48,6 +48,7 @@
 import org.eclipse.jface.viewers.CheckboxTableViewer;
 import org.eclipse.jface.viewers.DoubleClickEvent;
 import org.eclipse.jface.viewers.ICheckStateListener;
+import org.eclipse.jface.viewers.IColorProvider;
 import org.eclipse.jface.viewers.IDoubleClickListener;
 import org.eclipse.jface.viewers.IFontProvider;
 import org.eclipse.jface.viewers.ISelection;
@@ -69,6 +70,7 @@
 import org.eclipse.swt.events.KeyEvent;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.graphics.Cursor;
 import org.eclipse.swt.graphics.Font;
 import org.eclipse.swt.graphics.FontData;
@@ -223,7 +225,7 @@
 	/**
 	 * Label provider for installed JREs table.
 	 */
-	class VMLabelProvider extends LabelProvider implements ITableLabelProvider, IFontProvider {
+	class VMLabelProvider extends LabelProvider implements ITableLabelProvider, IFontProvider, IColorProvider {
 
 		Font bold = null;
 		
@@ -286,6 +288,30 @@
 			super.dispose();
 		}
 
+		public Color getForeground(Object element) {
+			if (isUnmodifiable(element)) {
+				Display display = Display.getCurrent();
+				return display.getSystemColor(SWT.COLOR_INFO_FOREGROUND);
+			}
+			return null;
+		}
+
+		public Color getBackground(Object element) {
+			if (isUnmodifiable(element)) {
+				Display display = Display.getCurrent();
+				return display.getSystemColor(SWT.COLOR_INFO_BACKGROUND);
+			}
+			return null;
+		}
+		
+		boolean isUnmodifiable(Object element) {
+			if(element instanceof IVMInstall) {
+				IVMInstall vm = (IVMInstall) element;
+				return JavaRuntime.isContributedVMInstall(vm.getId());
+			}
+			return false;
+		}
+
 	}	
 	
 	/* (non-Javadoc)
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/JREMessages.properties b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/JREMessages.properties
index 31c585a..c9640a2 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/JREMessages.properties
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/JREMessages.properties
@@ -33,7 +33,7 @@
 InstalledJREsBlock_14=Found {0} - Searching {1}
 InstalledJREsBlock_15=Installed &JREs:
 InstalledJREsBlock_16=Dupli&cate...
-InstalledJREsBlock_19={0} (locked)
+InstalledJREsBlock_19={0} (contributed)
 InstalledJREsBlock_7={0} (default)
 
 JREsComboBlock_1=Alternate &JRE: