Bug 461762 - [cleanup] clean up org.eclipse.ui.ide and update to Java
1.7 - part 4

Finally switched to Java 1.7.

Cleaned up almost all warnings on org.eclipse.ui.internal.views.markers
and org.eclipse.ui.views.markers.internal packages. On changed files
cleaned up some formating too.

Change-Id: I0622313a2609e5674d624e931e5e43c4da8cc53f
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/bundles/org.eclipse.ui.ide/.classpath b/bundles/org.eclipse.ui.ide/.classpath
index 8eed4a0..f50a52b 100644
--- a/bundles/org.eclipse.ui.ide/.classpath
+++ b/bundles/org.eclipse.ui.ide/.classpath
@@ -3,6 +3,6 @@
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="extensions"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/bundles/org.eclipse.ui.ide/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.ide/.settings/org.eclipse.jdt.core.prefs
index 7811739..41b346f 100644
--- a/bundles/org.eclipse.ui.ide/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.ui.ide/.settings/org.eclipse.jdt.core.prefs
@@ -8,9 +8,9 @@
 org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.compliance=1.7
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -67,7 +67,7 @@
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.source=1.7
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/bundles/org.eclipse.ui.ide/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.ide/META-INF/MANIFEST.MF
index a7786c6..cc5b9a0 100644
--- a/bundles/org.eclipse.ui.ide/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.ui.ide/META-INF/MANIFEST.MF
@@ -60,4 +60,4 @@
  org.eclipse.e4.core.contexts;bundle-version="[1.3.100,2.0.0)",
  org.eclipse.e4.ui.workbench;bundle-version="[1.3.0,2.0.0)"
 Import-Package: com.ibm.icu.text
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/bundles/org.eclipse.ui.ide/build.properties b/bundles/org.eclipse.ui.ide/build.properties
index 42c1b4d..13a3c02 100644
--- a/bundles/org.eclipse.ui.ide/build.properties
+++ b/bundles/org.eclipse.ui.ide/build.properties
@@ -20,3 +20,4 @@
                schema/
 source.. = extensions/,\
                  src/
+jre.compilation.profile = JavaSE-1.7
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/AllErrorsParameters.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/AllErrorsParameters.java
index 16c581e..89a7dc0 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/AllErrorsParameters.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/AllErrorsParameters.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -24,11 +24,10 @@
  */
 public class AllErrorsParameters extends FiltersContributionParameters {
 
-	private static Map errorsMap;
+	private static Map<String, Integer> errorsMap;
 	static {
-		errorsMap = new HashMap();
-		errorsMap.put(IMarker.SEVERITY, new Integer(
-				SeverityAndDescriptionFieldFilter.SEVERITY_ERROR));
+		errorsMap = new HashMap<>();
+		errorsMap.put(IMarker.SEVERITY, new Integer(SeverityAndDescriptionFieldFilter.SEVERITY_ERROR));
 	}
 
 	/**
@@ -38,13 +37,8 @@
 		super();
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.internal.provisional.views.markers.FiltersContributionParameters#getParameterValues()
-	 */
 	@Override
-	public Map getParameterValues() {
+	public Map<String, Integer> getParameterValues() {
 		return errorsMap;
 	}
 
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/CachedMarkerBuilder.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/CachedMarkerBuilder.java
index 7ade40c..3090596 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/CachedMarkerBuilder.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/CachedMarkerBuilder.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -51,7 +51,7 @@
 	private Markers markers;
 	private Markers markersClone;
 
-	final Object MARKER_INCREMENTAL_UPDATE_FAMILY =new Object();
+	final Object MARKER_INCREMENTAL_UPDATE_FAMILY = new Object();
 	final Object CACHE_UPDATE_FAMILY = new Object();
 	final Object MARKERSVIEW_UPDATE_JOB_FAMILY;
 
@@ -85,37 +85,34 @@
 		scheduler = new MarkerUpdateScheduler(view, this);
 	}
 
-	void restoreState(IMemento memento) {
-		if (memento == null)
+	void restoreState(IMemento m) {
+		if (m == null) {
 			setDefaultCategoryGroup(getGenerator());
-		else {
+		} else {
 			// Set up the category group if it has been set or set a default.
-			String categoryGroupID = memento.getString(TAG_CATEGORY_GROUP);
-			if (categoryGroupID == null)
+			String categoryGroupID = m.getString(TAG_CATEGORY_GROUP);
+			if (categoryGroupID == null) {
 				setDefaultCategoryGroup(getGenerator());
-			else {
-				if (categoryGroupID.equals(VALUE_NONE))
+			} else {
+				if (categoryGroupID.equals(VALUE_NONE)) {
 					this.categoryGroup = null;
-				else {
-					MarkerGroup newGroup = getGenerator().getMarkerGroup(
-							categoryGroupID);
-					if (newGroup == null)
+				} else {
+					MarkerGroup newGroup = getGenerator().getMarkerGroup(categoryGroupID);
+					if (newGroup == null) {
 						setDefaultCategoryGroup(getGenerator());
-					else
+					} else {
 						this.categoryGroup = newGroup;
+					}
 				}
 			}
 		}
-		this.memento=memento;
+		this.memento = m;
 	}
-	/**
-	 *
-	 */
+
 	void start() {
 		active = true;
 		registerTypesToListener();
-		PlatformUI.getWorkbench().getWorkingSetManager()
-				.addPropertyChangeListener(getWorkingSetListener());
+		PlatformUI.getWorkbench().getWorkingSetManager().addPropertyChangeListener(getWorkingSetListener());
 
 		markerListener.start();
 		scheduleUpdate();
@@ -126,16 +123,15 @@
 	 */
 	void dispose() {
 		markerListener.stop();
-		active=false;
+		active = false;
 		Job.getJobManager().cancel(MARKERSVIEW_UPDATE_JOB_FAMILY);
 
-		if(workingSetListener!=null){
-			PlatformUI.getWorkbench().getWorkingSetManager()
-			.removePropertyChangeListener(getWorkingSetListener());
+		if (workingSetListener != null) {
+			PlatformUI.getWorkbench().getWorkingSetManager().removePropertyChangeListener(getWorkingSetListener());
 		}
 
 		if (isIncremental()) {
-			if(incrementJob!=null){
+			if (incrementJob != null) {
 				incrementJob.clearEntries();
 			}
 		}
@@ -156,10 +152,11 @@
 	 * @return MarkerComparator
 	 */
 	MarkerComparator getComparator() {
-		if(comparator==null){
+		if (comparator == null) {
 			MarkerField field = null;
-			if (getCategoryGroup() != null)
+			if (getCategoryGroup() != null) {
 				field = getCategoryGroup().getMarkerField();
+			}
 			comparator = new MarkerComparator(field, generator.getAllFields());
 			if (memento != null) {
 				comparator.restore(memento);
@@ -194,8 +191,9 @@
 	 *         {@link MarkerComparator#DESCENDING}
 	 */
 	int getSortDirection(MarkerField field) {
-		if (getComparator().descendingFields.contains(field))
+		if (getComparator().descendingFields.contains(field)) {
 			return MarkerComparator.DESCENDING;
+		}
 		return MarkerComparator.ASCENDING;
 	}
 
@@ -213,10 +211,11 @@
 	 *
 	 * @return int
 	 */
-	int getTotalMarkerCount(Markers markers) {
+	static int getTotalMarkerCount(Markers markers) {
 		MarkerSupportItem[] elements = markers.getElements();
-		if (elements.length == 0 || elements[0].isConcrete())
+		if (elements.length == 0 || elements[0].isConcrete()) {
 			return elements.length;
+		}
 		int length = 0;
 		for (int i = 0; i < elements.length; i++) {
 			length += elements[i].getChildren().length;
@@ -231,14 +230,14 @@
 	 * @return boolean
 	 */
 	boolean isBuilding() {
-		return building|| markerListener.isReceivingChange();
+		return building || markerListener.isReceivingChange();
 	}
 
 	/**
 	 * Update the flag that indicates if the markers are building/changing
 	 */
 	void setBuilding(boolean building) {
-		this.building =building;
+		this.building = building;
 	}
 
 	/**
@@ -252,30 +251,25 @@
 
 	/**
 	 * Refresh the sort order and categories of the receiver.
-	 *
 	 */
 	void refreshContents(IWorkbenchSiteProgressService service) {
 		try {
 			service.busyCursorWhile(new IRunnableWithProgress() {
 				@Override
 				public void run(IProgressMonitor monitor) {
-					SortingJob job=new SortingJob(CachedMarkerBuilder.this);
+					SortingJob job = new SortingJob(CachedMarkerBuilder.this);
 					job.run(monitor);
 				}
 			});
 		} catch (InvocationTargetException e) {
-			StatusManager.getManager().handle(
-					StatusUtil.newStatus(IStatus.ERROR,
-							e.getLocalizedMessage(), e));
+			StatusManager.getManager().handle(StatusUtil.newStatus(IStatus.ERROR, e.getLocalizedMessage(), e));
 		} catch (InterruptedException e) {
-			StatusManager.getManager().handle(
-					StatusUtil.newStatus(IStatus.ERROR,
-							e.getLocalizedMessage(), e));
+			StatusManager.getManager().handle(StatusUtil.newStatus(IStatus.ERROR, e.getLocalizedMessage(), e));
 		}
 	}
+
 	/**
 	 * Refresh the sort order and categories of the receiver.
-	 *
 	 */
 	void refreshContents() {
 		SortingJob job=new SortingJob(CachedMarkerBuilder.this);
@@ -292,14 +286,15 @@
 	/**
 	 * Save the state of the receiver to memento
 	 *
-	 * @param memento
+	 * @param m
 	 */
-	void saveState(IMemento memento) {
-		getComparator().saveState(memento);
-		if (categoryGroup == null)
-			memento.putString(TAG_CATEGORY_GROUP, VALUE_NONE);
-		else
-			memento.putString(TAG_CATEGORY_GROUP, getCategoryGroup().getId());
+	void saveState(IMemento m) {
+		getComparator().saveState(m);
+		if (categoryGroup == null) {
+			m.putString(TAG_CATEGORY_GROUP, VALUE_NONE);
+		} else {
+			m.putString(TAG_CATEGORY_GROUP, getCategoryGroup().getId());
+		}
 	}
 
 	/**
@@ -350,12 +345,12 @@
 	 */
 	void setCategoryGroup(MarkerGroup group) {
 		this.categoryGroup = group;
-		if (group == null)
+		if (group == null) {
 			getComparator().setCategory(null);
-		else
+		} else {
 			getComparator().setCategory(group.getMarkerField());
+		}
 		scheduleUpdate();
-
 	}
 
 	/**
@@ -367,10 +362,10 @@
 		String categoryName = contentGenerator.getCategoryName();
 		if (categoryName != null) {
 			MarkerGroup group = contentGenerator.getMarkerGroup(categoryName);
-			if (group != null)
+			if (group != null) {
 				categoryGroup = group;
+			}
 		}
-
 	}
 
 	/**
@@ -393,14 +388,13 @@
 	 * @param field
 	 */
 	void setPrimarySortField(MarkerField field) {
-
 		getComparator().setPrimarySortField(field);
-
 	}
 
 	MarkerUpdateScheduler getUpdateScheduler(){
 		return scheduler;
 	}
+
 	/**
 	 * Set the progress service for the receiver.
 	 *
@@ -409,16 +403,13 @@
 	void setProgressService(IWorkbenchSiteProgressService service) {
 		progressService = service;
 		if (service != null) {
-			service
-					.showBusyForFamily(ResourcesPlugin.FAMILY_MANUAL_BUILD);
-			service
-					.showBusyForFamily(ResourcesPlugin.FAMILY_AUTO_BUILD);
-			service
-					.showBusyForFamily(CACHE_UPDATE_FAMILY);
-			service
-					.showBusyForFamily(MARKERSVIEW_UPDATE_JOB_FAMILY);
+			service.showBusyForFamily(ResourcesPlugin.FAMILY_MANUAL_BUILD);
+			service.showBusyForFamily(ResourcesPlugin.FAMILY_AUTO_BUILD);
+			service.showBusyForFamily(CACHE_UPDATE_FAMILY);
+			service.showBusyForFamily(MARKERSVIEW_UPDATE_JOB_FAMILY);
 		}
 	}
+
 	/**
 	 * @return Returns the progressService.
 	 */
@@ -433,9 +424,9 @@
 	 * schedules marker update job
 	 */
 	MarkerUpdateJob scheduleUpdateJob(long delay) {
-		return scheduleUpdateJob(delay, false, new boolean[] { true, false,
-				false });
+		return scheduleUpdateJob(delay, false, new boolean[] { true, false, false });
 	}
+
 	/**
 	 * The method should not be called directly, see
 	 * {@link MarkerUpdateScheduler}
@@ -443,21 +434,19 @@
 	 * schedules marker update job
 	 */
 	 MarkerUpdateJob scheduleUpdateJob(long delay, boolean clean) {
-		return scheduleUpdateJob(delay, clean,new boolean[] { true, false,
-				false });
+		return scheduleUpdateJob(delay, clean, new boolean[] { true, false, false });
 	}
 
-	 /**
-	  * The method should not be called directly, see
+	/**
+	 * The method should not be called directly, see
 	 * {@link MarkerUpdateScheduler}
 	 *
 	 * schedules marker update job
 	 */
-	MarkerUpdateJob scheduleUpdateJob(long delay, boolean clean,
-			boolean[] changeFlags) {
+	MarkerUpdateJob scheduleUpdateJob(long delay, boolean clean, boolean[] newChangeFlags) {
 
 		setBuilding(true);
-		updateChangeFlags(changeFlags);
+		updateChangeFlags(newChangeFlags);
 
 		synchronized (getUpdateScheduler().getSchedulingLock()) {
 			if (generator == null || !active) {
@@ -531,12 +520,11 @@
 	 * every delta is wasteful.
 	 */
 	void registerTypesToListener() {
-		MarkerContentGenerator generator =getGenerator();
-		if (generator == null) {
+		MarkerContentGenerator gen = getGenerator();
+		if (gen == null) {
 			return;
 		}
-		getMarkerListener().listenToTypes(generator.getTypes(),
-				includeMarkerSubTypes());
+		getMarkerListener().listenToTypes(gen.getTypes(), includeMarkerSubTypes());
 	}
 
 	/**
@@ -643,12 +631,11 @@
 	}
 
 	/**
-	 * @param changeFlags
-	 *
+	 * @param newChangeFlags
 	 */
-	void updateChangeFlags(boolean[] changeFlags) {
-		for (int i = 0; i < changeFlags.length; i++) {
-			this.changeFlags[i]=this.changeFlags[i]|changeFlags[i];
+	void updateChangeFlags(boolean[] newChangeFlags) {
+		for (int i = 0; i < newChangeFlags.length; i++) {
+			this.changeFlags[i] = this.changeFlags[i] | newChangeFlags[i];
 		}
 	}
 
@@ -674,13 +661,6 @@
 	 *
 	 */
 	private class WorkingSetListener implements IPropertyChangeListener{
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see
-		 * org.eclipse.jface.util.IPropertyChangeListener#propertyChange
-		 * (org.eclipse.jface.util.PropertyChangeEvent)
-		 */
 		@Override
 		public void propertyChange(PropertyChangeEvent event) {
 			boolean needsUpdate=false;
@@ -688,11 +668,9 @@
 					.getProperty()
 					.equals(
 							IWorkingSetManager.CHANGE_WORKING_SET_CONTENT_CHANGE)) {
-				Iterator iterator = generator.getEnabledFilters()
-						.iterator();
+				Iterator<MarkerFieldFilterGroup> iterator = generator.getEnabledFilters().iterator();
 				while (iterator.hasNext()) {
-					MarkerFieldFilterGroup group = (MarkerFieldFilterGroup) iterator
-							.next();
+					MarkerFieldFilterGroup group = iterator.next();
 					if (group.getScope() == MarkerFieldFilterGroup.ON_WORKING_SET) {
 						IWorkingSet wSet = group.getWorkingSet();
 						if (wSet!=null&&wSet.equals(event.getNewValue())) {
@@ -702,12 +680,10 @@
 					}
 				}
 			}
-			if (event.getProperty().equals(
-					IWorkingSetManager.CHANGE_WORKING_SET_REMOVE)) {
-				Iterator iterator = generator.getAllFilters().iterator();
+			if (event.getProperty().equals(IWorkingSetManager.CHANGE_WORKING_SET_REMOVE)) {
+				Iterator<MarkerFieldFilterGroup> iterator = generator.getAllFilters().iterator();
 				while (iterator.hasNext()) {
-					MarkerFieldFilterGroup group = (MarkerFieldFilterGroup) iterator
-							.next();
+					MarkerFieldFilterGroup group = iterator.next();
 					if (group.getScope() == MarkerFieldFilterGroup.ON_WORKING_SET) {
 						IWorkingSet wSet = group.getWorkingSet();
 						if (wSet!=null && wSet.equals(event.getOldValue())) {
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/DeleteCompletedHandler.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/DeleteCompletedHandler.java
index d5f48ad..00042da 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/DeleteCompletedHandler.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/DeleteCompletedHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -32,11 +32,6 @@
  */
 public class DeleteCompletedHandler extends MarkerViewHandler {
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
-	 */
 	@Override
 	public Object execute(ExecutionEvent event) {
 
@@ -44,7 +39,7 @@
 		if (view == null)
 			return this;
 
-		final List completed = getCompletedTasks(view);
+		final List<IMarker> completed = getCompletedTasks(view);
 		// Check if there is anything to do
 		if (completed.size() == 0) {
 			MessageDialog.openInformation(view.getSite().getShell(),
@@ -84,9 +79,9 @@
 	 * @param view
 	 * @return List of {@link IMarker}
 	 */
-	private List getCompletedTasks(ExtendedMarkersView view) {
+	private List<IMarker> getCompletedTasks(ExtendedMarkersView view) {
 
-		List completed = new ArrayList();
+		List<IMarker> completed = new ArrayList<>();
 		MarkerItem[] items = view.getAllConcreteItems();
 
 		for (int i = 0; i < items.length; i++) {
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/EditablePropertyTester.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/EditablePropertyTester.java
index 643e0cd..4d75cc0 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/EditablePropertyTester.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/EditablePropertyTester.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2011 IBM Corporation and others.
+ * Copyright (c) 2005, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -36,31 +36,30 @@
 		super();
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
-	 */
 	@Override
 	public boolean test(Object receiver, String property, Object[] args,
 			Object expectedValue) {
 		if (property.equals(EDITABLE)) {
 			MarkerSupportItem item = (MarkerSupportItem) receiver;
-			Set/*<IMarker>*/ markers = new HashSet();
+			Set<IMarker> markers = new HashSet<>();
 			if (item.isConcrete()) {
 				markers.add(((MarkerEntry) receiver).getMarker());
 			} else {
 				MarkerSupportItem[] children = item.getChildren();
 				for (int i = 0; i < children.length; i++) {
-					if (children[i].isConcrete())
+					if (children[i].isConcrete()) {
 						markers.add(((MarkerEntry) children[i]).getMarker());
+					}
 				}
 			}
 
 			if (!markers.isEmpty()) {
-				Iterator elements = markers.iterator();
+				Iterator<IMarker> elements = markers.iterator();
 				while (elements.hasNext()) {
-					IMarker marker = (IMarker) elements.next();
-					if (!marker.getAttribute(IMarker.USER_EDITABLE, true))
+					IMarker marker = elements.next();
+					if (!marker.getAttribute(IMarker.USER_EDITABLE, true)) {
 						return false;
+					}
 				}
 				return true;
 			}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/ErrorsWarningsParameters.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/ErrorsWarningsParameters.java
index 013fb35..1d710ba 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/ErrorsWarningsParameters.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/ErrorsWarningsParameters.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -25,11 +25,11 @@
  */
 public class ErrorsWarningsParameters extends FiltersContributionParameters {
 
-	private static Map parametersMap;
+	private static Map<String, Integer> parametersMap;
 	static {
-		parametersMap = new HashMap();
+		parametersMap = new HashMap<>();
 		parametersMap.put(IMarker.SEVERITY, new Integer(
-				SeverityAndDescriptionFieldFilter.SEVERITY_WARNING|SeverityAndDescriptionFieldFilter.SEVERITY_ERROR));
+				SeverityAndDescriptionFieldFilter.SEVERITY_WARNING | SeverityAndDescriptionFieldFilter.SEVERITY_ERROR));
 	}
 
 	/**
@@ -39,13 +39,8 @@
 		super();
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.internal.provisional.views.markers.FiltersContributionParameters#getParameterValues()
-	 */
 	@Override
-	public Map getParameterValues() {
+	public Map<String, Integer> getParameterValues() {
 		return parametersMap;
 	}
 
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/ExtendedMarkersView.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/ExtendedMarkersView.java
index 75a3c5b..6cfaac7 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/ExtendedMarkersView.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/ExtendedMarkersView.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2014 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -147,7 +147,7 @@
 
 	private MarkerContentGenerator generator;
 	private CachedMarkerBuilder builder;
-	private Collection categoriesToExpand;
+	private Collection<String> categoriesToExpand;
 
 	private UIUpdateJob uiUpdateJob;
 
@@ -216,7 +216,7 @@
 	 * @param allMarkers
 	 */
 	private void addAllConcreteItems(MarkerSupportItem markerItem,
-			Collection allMarkers) {
+			Collection<MarkerSupportItem> allMarkers) {
 		if (markerItem.isConcrete()) {
 			allMarkers.add(markerItem);
 			return;
@@ -246,7 +246,7 @@
 	 * @param allMarkers
 	 *            {@link Collection} of {@link IMarker}
 	 */
-	private void addMarkers(MarkerSupportItem markerItem, Collection allMarkers) {
+	private void addMarkers(MarkerSupportItem markerItem, Collection<IMarker> allMarkers) {
 		if (markerItem.getMarker() != null)
 			allMarkers.add(markerItem.getMarker());
 		MarkerSupportItem[] children = markerItem.getChildren();
@@ -582,8 +582,8 @@
 		ISelection selection = viewer.getSelection();
 		if (selection instanceof IStructuredSelection) {
 			IStructuredSelection structured = (IStructuredSelection) selection;
-			Iterator elements = structured.iterator();
-			HashSet result = new HashSet();
+			Iterator<?> elements = structured.iterator();
+			HashSet<IMarker> result = new HashSet<>();
 			while (elements.hasNext()) {
 				MarkerSupportItem next = (MarkerSupportItem) elements.next();
 				if (next.isConcrete()) {
@@ -640,10 +640,9 @@
 	 */
 	MarkerSupportItem[] getAllConcreteItems() {
 		MarkerSupportItem[] elements =getActiveViewerInputClone().getElements();
-		Collection allMarkers = new ArrayList();
+		Collection<MarkerSupportItem> allMarkers = new ArrayList<>();
 		for (int i = 0; i < elements.length; i++) {
 			addAllConcreteItems(elements[i], allMarkers);
-
 		}
 		MarkerSupportItem[] markers = new MarkerSupportItem[allMarkers.size()];
 		allMarkers.toArray(markers);
@@ -655,7 +654,7 @@
 	 *
 	 * @return Collection of {@link MarkerFieldFilterGroup}
 	 */
-	Collection getAllFilters() {
+	Collection<MarkerFieldFilterGroup> getAllFilters() {
 		return generator.getAllFilters();
 	}
 
@@ -665,9 +664,8 @@
 	 * @return IMarker[]
 	 */
 	IMarker[] getAllMarkers() {
-
 		MarkerSupportItem[] elements =getActiveViewerInputClone().getElements();
-		Collection allMarkers = new ArrayList();
+		Collection<IMarker> allMarkers = new ArrayList<>();
 		for (int i = 0; i < elements.length; i++) {
 			addMarkers(elements[i], allMarkers);
 
@@ -675,7 +673,6 @@
 		IMarker[] markers = new IMarker[allMarkers.size()];
 		allMarkers.toArray(markers);
 		return markers;
-
 	}
 
 	/**
@@ -692,22 +689,20 @@
 	 *
 	 * @return Collection of MarkerCategory.
 	 */
-	Collection getCategoriesToExpand() {
+	Collection<String> getCategoriesToExpand() {
 		if (categoriesToExpand == null) {
-			categoriesToExpand = new HashSet();
+			categoriesToExpand = new HashSet<>();
 			if (this.memento != null) {
 				IMemento expanded = this.memento.getChild(TAG_EXPANDED);
 				if (expanded != null) {
-					IMemento[] mementoCategories = expanded
-							.getChildren(TAG_CATEGORY);
+					IMemento[] mementoCategories = expanded.getChildren(TAG_CATEGORY);
 					MarkerCategory[] markerCategories =getActiveViewerInputClone().getCategories();
 					if (markerCategories != null) {
 						for (int i = 0; i < markerCategories.length; i++) {
 							for (int j = 0; j < mementoCategories.length; j++) {
-								if (markerCategories[i].getName().equals(
-										mementoCategories[j].getID()))
-									categoriesToExpand.add(markerCategories[i]
-											.getName());
+								if (markerCategories[i].getName().equals(mementoCategories[j].getID())) {
+									categoriesToExpand.add(markerCategories[i].getName());
+								}
 							}
 						}
 					}
@@ -732,8 +727,9 @@
 	 * @return Clipboard
 	 */
 	Clipboard getClipboard() {
-		if (clipboard == null)
+		if (clipboard == null) {
 			clipboard = new Clipboard(viewer.getControl().getDisplay());
+		}
 		return clipboard;
 	}
 
@@ -787,9 +783,7 @@
 						.getData(MARKER_FIELD);
 				setPrimarySortField(field, column);
 			}
-
 		};
-
 	}
 
 	/**
@@ -828,16 +822,8 @@
 					Integer[] counts = markers.getMarkerCounts();
 					setTitleToolTip(getStatusMessage(markers, counts));
 				}
-
 			}
 
-			/*
-			 * (non-Javadoc)
-			 *
-			 * @see
-			 * org.eclipse.ui.IPartListener2#partInputChanged(org.eclipse.ui
-			 * .IWorkbenchPartReference)
-			 */
 			@Override
 			public void partInputChanged(IWorkbenchPartReference partRef) {
 				// Do nothing by default
@@ -852,13 +838,10 @@
 			public void partVisible(IWorkbenchPartReference partRef) {
 				if (partRef.getId().equals(getSite().getId())) {
 					isViewVisible= true;
-					pageSelectionListener.selectionChanged(null, getSite().getPage()
-							.getSelection());
+					pageSelectionListener.selectionChanged(null, getSite().getPage().getSelection());
 					setTitleToolTip(null);
 				}
-
 			}
-
 		};
 	}
 
@@ -871,9 +854,9 @@
 		ISelection selection = viewer.getSelection();
 		if (selection instanceof IStructuredSelection) {
 			final IStructuredSelection structured = (IStructuredSelection) selection;
-			final List result = new ArrayList(structured.size());
+			final List<IMarker> result = new ArrayList<>(structured.size());
 			MarkerCategory lastCategory = null;
-			for(Iterator i = structured.iterator(); i.hasNext();) {
+			for (Iterator<?> i = structured.iterator(); i.hasNext();) {
 				final MarkerSupportItem next = (MarkerSupportItem) i.next();
 				if(next.isConcrete()) {
 					if(lastCategory != null && lastCategory == next.getParent()) {
@@ -889,10 +872,9 @@
 					}
 				}
 			}
-			return (IMarker[]) result.toArray(new IMarker[result.size()]);
+			return result.toArray(new IMarker[result.size()]);
 		}
 		return MarkerSupportInternalUtilities.EMPTY_MARKER_ARRAY;
-
 	}
 
 	/**
@@ -914,7 +896,7 @@
 	 */
 	private String getStatusMessage(Markers markers, Integer[] counts) {
 		String status = MarkerSupportInternalUtilities.EMPTY_STRING;
-		int totalCount = builder.getTotalMarkerCount(markers);
+		int totalCount = CachedMarkerBuilder.getTotalMarkerCount(markers);
 		int filteredCount = 0;
 		boolean markerLimitsEnabled = generator.isMarkerLimitsEnabled();
 		int markerLimit = generator.getMarkerLimits();
@@ -925,17 +907,17 @@
 			for (int i = 0; i < categories.length; i++) {
 
 				int childCount = categories[i].getChildrenCount();
-				if (markerLimitsEnabled)
+				if (markerLimitsEnabled) {
 					childCount = Math.min(childCount, markerLimit);
-
+				}
 				filteredCount += childCount;
-
 			}
 		} else {
-			if(markerLimitsEnabled)
+			if(markerLimitsEnabled) {
 				filteredCount = markerLimit;
-			else
+			} else {
 				filteredCount = -1;
+			}
 		}
 
 		// Any errors or warnings? If not then send the filtering message
@@ -952,12 +934,11 @@
 		String message= MessageFormat.format(
 				MarkerMessages.errorsAndWarningsSummaryBreakdown,
 				counts[0], counts[1], /* combine infos and others */ counts[2] + counts[3]);
-		if (filteredCount < 0 || filteredCount >= totalCount)
+		if (filteredCount < 0 || filteredCount >= totalCount) {
 			return message;
-		return NLS
-				.bind(
-						MarkerMessages.problem_filter_matchedMessage,
-						new Object[] {message, new Integer(filteredCount), new Integer(totalCount) });
+		}
+		return NLS.bind(MarkerMessages.problem_filter_matchedMessage,
+				new Object[] { message, new Integer(filteredCount), new Integer(totalCount) });
 	}
 
 	/**
@@ -1001,33 +982,33 @@
 	}
 
 	@Override
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		super.init(site, memento);
+	public void init(IViewSite site, IMemento m) throws PartInitException {
+		super.init(site, m);
 		ContentGeneratorDescriptor generatorDescriptor = null;
-		if (memento != null) {
+		if (m != null) {
 			generatorDescriptor = MarkerSupportRegistry.getInstance()
-					.getContentGenDescriptor(memento.getString(TAG_GENERATOR));
+					.getContentGenDescriptor(m.getString(TAG_GENERATOR));
 		}
 
 		if (generatorDescriptor == null && defaultGeneratorIds.length > 0) {
 			generatorDescriptor = MarkerSupportRegistry.getInstance()
 					.getContentGenDescriptor(defaultGeneratorIds[0]);
-			if (generatorDescriptor == null)
+			if (generatorDescriptor == null) {
 				logInvalidGenerator(defaultGeneratorIds[0]);
+			}
 		}
 
-		if (generatorDescriptor == null)
+		if (generatorDescriptor == null) {
 			generatorDescriptor = MarkerSupportRegistry.getInstance()
 					.getDefaultContentGenDescriptor();
+		}
 
 		builder = new CachedMarkerBuilder(this);
-		generator = new MarkerContentGenerator(generatorDescriptor, builder,
-				getViewsEffectiveId());
-		generator.restoreState(memento);
+		generator = new MarkerContentGenerator(generatorDescriptor, builder, getViewsEffectiveId());
+		generator.restoreState(m);
 
 		// Add in the entries common to all markers views
-		IMenuService menuService = site
-				.getService(IMenuService.class);
+		IMenuService menuService = site.getService(IMenuService.class);
 
 		// Add in the markers view actions
 
@@ -1038,17 +1019,18 @@
 				.getActionBars().getToolBarManager(),
 				"toolbar:" + MarkerSupportRegistry.MARKERS_ID); //$NON-NLS-1$
 
-		builder.restoreState(memento);
+		builder.restoreState(m);
 
 		Object service = site.getAdapter(IWorkbenchSiteProgressService.class);
-		if (service != null)
+		if (service != null) {
 			builder.setProgressService((IWorkbenchSiteProgressService) service);
-		this.memento = memento;
+		}
+		this.memento = m;
 
-		if (memento == null || memento.getString(TAG_PART_NAME) == null)
+		if (m == null || m.getString(TAG_PART_NAME) == null) {
 			return;
-
-		setPartName(memento.getString(TAG_PART_NAME));
+		}
+		setPartName(m.getString(TAG_PART_NAME));
 	}
 
 	/**
@@ -1089,7 +1071,6 @@
 	 */
 	void initializeTitle(String name) {
 		setPartName(name);
-
 	}
 
 	/**
@@ -1149,7 +1130,6 @@
 		if (dialog.open() == Window.OK) {
 			generator.updateFilters(dialog.getFilters(), dialog.andFilters());
 		}
-
 	}
 
 	/**
@@ -1175,8 +1155,7 @@
 				String name = ((MarkerCategory) items[i]).getName();
 				if (getCategoriesToExpand().contains(name)) {
 					if (provider instanceof ILazyTreeContentProvider) {
-						((ILazyTreeContentProvider) provider).updateElement(
-								builder.getMarkers(), i);
+						((ILazyTreeContentProvider) provider).updateElement(builder.getMarkers(), i);
 						viewer.setExpandedState(items[i], true);
 					} else {
 						if (!viewer.getExpandedState(items[i])) {
@@ -1198,8 +1177,7 @@
 		getSite().registerContextMenu(contextMenu, viewer);
 		// Add in the entries for all markers views if this has a different if
 		if (!getSite().getId().equals(MarkerSupportRegistry.MARKERS_ID)) {
-			getSite().registerContextMenu(MarkerSupportRegistry.MARKERS_ID,
-					contextMenu, viewer);
+			getSite().registerContextMenu(MarkerSupportRegistry.MARKERS_ID, contextMenu, viewer);
 		}
 		Control control = viewer.getControl();
 		Menu menu = contextMenu.createContextMenu(control);
@@ -1213,27 +1191,25 @@
 	 */
 	void removeExpandedCategory(MarkerCategory category) {
 		getCategoriesToExpand().remove(category.getName());
-
 	}
 
 	@Override
-	public void saveState(IMemento memento) {
-		super.saveState(memento);
-		memento.putString(TAG_PART_NAME, getPartName());
+	public void saveState(IMemento m) {
+		super.saveState(m);
+		m.putString(TAG_PART_NAME, getPartName());
 		if (generator != null) {
-			memento.putString(TAG_GENERATOR, builder.getGenerator().getId());
+			m.putString(TAG_GENERATOR, builder.getGenerator().getId());
 		}
 
 		if (!getCategoriesToExpand().isEmpty()) {
-			IMemento expanded = memento.createChild(TAG_EXPANDED);
-			Iterator categories = getCategoriesToExpand().iterator();
+			IMemento expanded = m.createChild(TAG_EXPANDED);
+			Iterator<String> categories = getCategoriesToExpand().iterator();
 			while (categories.hasNext()) {
-				expanded.createChild(TAG_CATEGORY, (String) categories.next());
+				expanded.createChild(TAG_CATEGORY, categories.next());
 			}
 		}
-		IMemento columnEntry = memento.createChild(TAG_COLUMN_WIDTHS);
-		MarkerField[] fields = new MarkerField[viewer.getTree()
-				.getColumnCount()];
+		IMemento columnEntry = m.createChild(TAG_COLUMN_WIDTHS);
+		MarkerField[] fields = new MarkerField[viewer.getTree().getColumnCount()];
 		int[] positions = viewer.getTree().getColumnOrder();
 		for (int i = 0; i < fields.length; i++) {
 			TreeColumn column = viewer.getTree().getColumn(i);
@@ -1249,9 +1225,9 @@
 			fields[positions[i]]= markerField;
 		}
 		if (generator != null) {
-			generator.saveState(memento, fields);
+			generator.saveState(m, fields);
 		}
-		builder.saveState(memento);
+		builder.saveState(m);
 	}
 
 	/**
@@ -1305,8 +1281,7 @@
 	private void setPrimarySortField(MarkerField field, TreeColumn column) {
 		builder.setPrimarySortField(field);
 
-		IWorkbenchSiteProgressService service = getViewSite()
-				.getAdapter(IWorkbenchSiteProgressService.class);
+		IWorkbenchSiteProgressService service = getViewSite().getAdapter(IWorkbenchSiteProgressService.class);
 		builder.refreshContents(service);
 		updateDirectionIndicator(column, field);
 	}
@@ -1318,8 +1293,8 @@
 	 * @param reveal
 	 */
 	void setSelection(StructuredSelection structuredSelection, boolean reveal) {
-		List newSelection = new ArrayList(structuredSelection.size());
-		for (Iterator i = structuredSelection.iterator(); i.hasNext();) {
+		List<MarkerItem> newSelection = new ArrayList<>(structuredSelection.size());
+		for (Iterator<?> i = structuredSelection.iterator(); i.hasNext();) {
 			Object next = i.next();
 			if (next instanceof IMarker) {
 				MarkerItem marker = builder.getMarkers().getMarkerItem(
@@ -1348,7 +1323,6 @@
 	 */
 	void toggleSortDirection() {
 		setPrimarySortField(builder.getPrimarySortField());
-
 	}
 
 	/**
@@ -1359,10 +1333,11 @@
 	 */
 	void updateDirectionIndicator(TreeColumn column, MarkerField field) {
 		viewer.getTree().setSortColumn(column);
-		if (builder.getSortDirection(field) == MarkerComparator.ASCENDING)
+		if (builder.getSortDirection(field) == MarkerComparator.ASCENDING) {
 			viewer.getTree().setSortDirection(SWT.UP);
-		else
+		} else {
 			viewer.getTree().setSortDirection(SWT.DOWN);
+		}
 	}
 
 	/**
@@ -1377,24 +1352,23 @@
 			message = MarkerSupportInternalUtilities.EMPTY_STRING;
 		} else if (newSelection.size() == 1) {
 			// Use the Message attribute of the marker
-			message = ((MarkerSupportItem) newSelection.getFirstElement())
-					.getDescription();
+			message = ((MarkerSupportItem) newSelection.getFirstElement()).getDescription();
 
 		} else {
-			Iterator elements = newSelection.iterator();
-			Collection result = new ArrayList();
+			Iterator<?> elements = newSelection.iterator();
+			Collection<MarkerSupportItem> result = new ArrayList<>();
 			while (elements.hasNext()) {
 				MarkerSupportItem next = (MarkerSupportItem) elements.next();
-				if (next.isConcrete())
+				if (next.isConcrete()) {
 					result.add(next);
+				}
 			}
 			MarkerEntry[] entries = new MarkerEntry[result.size()];
 			result.toArray(entries);
 			// Show stats on only those items in the selection
 			message = getStatusSummary(entries);
 		}
-		getViewSite().getActionBars().getStatusLineManager()
-				.setMessage(message);
+		getViewSite().getActionBars().getStatusLineManager().setMessage(message);
 	}
 
 	/**
@@ -1435,7 +1409,6 @@
 		if (!"".equals(getTitleToolTip())) { //$NON-NLS-1$
 			setTitleToolTip(statusMessage);
 		}
-
 		updateTitleImage(counts);
 	}
 
@@ -1476,15 +1449,14 @@
 	 */
 	private void performDragSetData(DragSourceEvent event) {
 		if (MarkerTransfer.getInstance().isSupportedType(event.dataType)) {
-
 			event.data = getSelectedMarkers();
 			return;
 		}
 		if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
 			IMarker[] markers = getSelectedMarkers();
-			if (markers != null)
-				event.data = MarkerCopyHandler
-						.createMarkerReport(this, markers);
+			if (markers != null) {
+				event.data = MarkerCopyHandler.createMarkerReport(this, markers);
+			}
 		}
 	}
 
@@ -1500,7 +1472,7 @@
 	/**
 	 * @param visible
 	 */
-	void setVisibleFields(Collection visible,int[] widths) {
+	void setVisibleFields(Collection<MarkerField> visible,int[] widths) {
 		generator.setVisibleFields(visible);
 		//viewer.setSelection(new StructuredSelection());
 		//viewer.removeAndClearAll();
@@ -1658,8 +1630,7 @@
 			IEditorInput input = editor.getEditorInput();
 			IFile file = ResourceUtil.getFile(input);
 			if (file != null) {
-				if (marker.getResource().equals(file)
-						&& OpenStrategy.activateOnOpen()) {
+				if (marker.getResource().equals(file) && OpenStrategy.activateOnOpen()) {
 					page.activate(editor);
 				}
 			}
@@ -1689,18 +1660,18 @@
 		public void selectionChanged(IWorkbenchPart part, ISelection selection) {
 
 			// Do not respond to our own selections
-			if (part == ExtendedMarkersView.this)
+			if (part == ExtendedMarkersView.this) {
 				return;
+			}
 
 			// get Objects to adapt
-			List objectsToAdapt = new ArrayList();
+			List<Object> objectsToAdapt = new ArrayList<>();
 			if (part instanceof IEditorPart) {
 				IEditorPart editor = (IEditorPart) part;
 				objectsToAdapt.add(editor.getEditorInput());
 			} else {
 				if (selection instanceof IStructuredSelection) {
-					for (Iterator iterator = ((IStructuredSelection) selection)
-							.iterator(); iterator.hasNext();) {
+					for (Iterator<?> iterator = ((IStructuredSelection) selection).iterator(); iterator.hasNext();) {
 						Object object = iterator.next();
 						objectsToAdapt.add(object);
 					}
@@ -1708,19 +1679,17 @@
 			}
 			// try to adapt them in resources and add it to the
 			// selectedElements
-			List selectedElements = new ArrayList();
-			for (Iterator iterator = objectsToAdapt.iterator(); iterator
-					.hasNext();) {
+			List<Object> selectedElements = new ArrayList<>();
+			for (Iterator<Object> iterator = objectsToAdapt.iterator(); iterator.hasNext();) {
 				Object object = iterator.next();
 				Object resElement = MarkerResourceUtil.adapt2ResourceElement(object);
 				if (resElement != null) {
 					selectedElements.add(resElement);
 				}
 			}
-			MarkerContentGenerator generator = view.getGenerator();
-			generator.updateSelectedResource(selectedElements.toArray(), part == null);
+			MarkerContentGenerator gen = view.getGenerator();
+			gen.updateSelectedResource(selectedElements.toArray(), part == null);
 		}
-
 	}
 
 	/**
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/FiltersConfigurationDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/FiltersConfigurationDialog.java
index ab8527f..6a50802 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/FiltersConfigurationDialog.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/FiltersConfigurationDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2011 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -76,7 +76,7 @@
 	private static final String SELECTED_FILTER_GROUP = "SELECTED_FILTER_GROUP"; //$NON-NLS-1$
 	private static final String PREV_SELECTED_ELEMENTS = "PREV_SELECTED_ELEMENTS"; //$NON-NLS-1$
 
-	private Collection filterGroups;
+	private Collection<MarkerFieldFilterGroup> filterGroups;
 
 	private CheckboxTableViewer configsTable;
 
@@ -84,7 +84,7 @@
 
 	private MarkerContentGenerator generator;
 
-	private boolean andFilters = false;
+	private boolean andFilters;
 
 	private Button removeButton;
 	private Button renameButton;
@@ -99,7 +99,7 @@
 	private GroupFilterConfigurationArea scopeArea = new ScopeArea();
 	private ScrolledForm form;
 
-	private Collection configAreas;
+	private Collection<FilterConfigurationArea> configAreas;
 	private Label limitsLabel;
 
 	private Object[] previouslyChecked = new Object[0];
@@ -110,8 +110,7 @@
 	 * @param parentShell
 	 * @param generator
 	 */
-	public FiltersConfigurationDialog(Shell parentShell,
-			MarkerContentGenerator generator) {
+	public FiltersConfigurationDialog(Shell parentShell, MarkerContentGenerator generator) {
 		super(parentShell);
 		filterGroups = makeWorkingCopy(generator.getAllFilters());
 		this.generator = generator;
@@ -127,37 +126,19 @@
 		return andFilters;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.internal.views.markers.ViewerSettingsAndStatusDialog#
-	 * configureShell(org.eclipse.swt.widgets.Shell)
-	 */
 	@Override
 	protected void configureShell(Shell newShell) {
 		super.configureShell(newShell);
 		newShell.setText(MarkerMessages.configureFiltersDialog_title);
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.jface.dialogs.Dialog#isResizable()
-	 */
 	@Override
 	protected boolean isResizable() {
 		return true;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.internal.views.markers.ViewerSettingsAndStatusDialog#
-	 * createDialogContentArea(org.eclipse.swt.widgets.Composite)
-	 */
 	@Override
 	protected Control createDialogArea(Composite parent) {
-
 		Composite container = new Composite(parent, SWT.NONE);
 		container.setLayout(new GridLayout());
 		container.setLayoutData(new GridData(GridData.FILL_BOTH));
@@ -198,7 +179,6 @@
 	}
 
 	private void initUI() {
-
 		configsTable.setInput(filterGroups);
 		IStructuredSelection selection = getInitialSelection();
 		configsTable.setSelection(selection);
@@ -206,10 +186,9 @@
 			setFieldsEnabled(false);
 		}
 
-		Iterator iterator = filterGroups.iterator();
+		Iterator<MarkerFieldFilterGroup> iterator = filterGroups.iterator();
 		while (iterator.hasNext()) {
-			MarkerFieldFilterGroup group = (MarkerFieldFilterGroup) iterator
-					.next();
+			MarkerFieldFilterGroup group = iterator.next();
 			boolean enabled = group.isEnabled();
 			configsTable.setChecked(group, enabled);
 		}
@@ -224,11 +203,9 @@
 		limitText.setEnabled(limitsEnabled);
 		limitText.setText(Integer.toString(limits));
 		configsTable.getTable().setFocus();
-
 	}
 
 	private void updateRadioButtonsFromTable() {
-
 		boolean showAll = isShowAll();
 		allButton.setSelection(showAll);
 		andButton.setEnabled(!showAll);
@@ -236,7 +213,6 @@
 	}
 
 	private void updateShowAll(boolean showAll) {
-
 		allButton.setSelection(showAll);
 		andButton.setEnabled(!showAll);
 		orButton.setEnabled(!showAll);
@@ -264,7 +240,6 @@
 	 * @param parent
 	 */
 	private void createMarkerLimits(Composite parent) {
-
 		limitButton = new Button(parent, SWT.CHECK);
 		limitButton.setText(MarkerMessages.MarkerPreferences_MarkerLimits);
 		limitButton.addSelectionListener(new SelectionAdapter() {
@@ -319,14 +294,12 @@
 				}
 			}
 		});
-
 	}
 
 	/**
 	 * @param parent
 	 */
 	private void createConfigs(Composite parent) {
-
 		Composite composite = new Composite(parent, SWT.NONE);
 		composite.setLayout(new GridLayout(2, false));
 		composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
@@ -348,73 +321,66 @@
 		configsTable.addCheckStateListener(new ICheckStateListener() {
 			@Override
 			public void checkStateChanged(CheckStateChangedEvent event) {
-				configsTable.setSelection(new StructuredSelection(event
-						.getElement()));
+				configsTable.setSelection(new StructuredSelection(event.getElement()));
 				updateRadioButtonsFromTable();
 			}
 		});
 
-		configsTable
-				.addSelectionChangedListener(new ISelectionChangedListener() {
-					@Override
-					public void selectionChanged(SelectionChangedEvent event) {
-						storeConfiguration();
-						MarkerFieldFilterGroup group = getSelectionFromTable();
-						if (group == null) {
-							setFieldsEnabled(false);
-						} else
-							setFieldsEnabled(true);
-						updateButtonEnablement(group);
-						updateConfigDesc(group);
-						selectedFilterGroup = group;
-					}
-				});
+		configsTable.addSelectionChangedListener(new ISelectionChangedListener() {
+			@Override
+			public void selectionChanged(SelectionChangedEvent event) {
+				storeConfiguration();
+				MarkerFieldFilterGroup group = getSelectionFromTable();
+				if (group == null) {
+					setFieldsEnabled(false);
+				} else {
+					setFieldsEnabled(true);
+				}
+				updateButtonEnablement(group);
+				updateConfigDesc(group);
+				selectedFilterGroup = group;
+			}
+		});
 
 		createButtons(composite);
-
 	}
 
 	private void storeConfiguration() {
-
-		if (selectedFilterGroup == null)
+		if (selectedFilterGroup == null) {
 			return;
+		}
 
 		scopeArea.applyToGroup(selectedFilterGroup);
-		Iterator areas = configAreas.iterator();
+		Iterator<FilterConfigurationArea> areas = configAreas.iterator();
 		while (areas.hasNext()) {
-			FilterConfigurationArea area = (FilterConfigurationArea) areas
-					.next();
+			FilterConfigurationArea area = areas.next();
 
 			// Handle the internal special cases
-			if (area instanceof GroupFilterConfigurationArea)
-				((GroupFilterConfigurationArea) area)
-						.applyToGroup(selectedFilterGroup);
+			if (area instanceof GroupFilterConfigurationArea) {
+				((GroupFilterConfigurationArea) area).applyToGroup(selectedFilterGroup);
+			}
 			area.apply(selectedFilterGroup.getFilter(area.getField()));
 		}
 		configsTable.refresh(selectedFilterGroup);
 	}
 
 	private void updateConfigDesc(MarkerFieldFilterGroup configuration) {
-
 		if (configuration == null) {
 			return;
 		}
 
 		scopeArea.initializeFromGroup(configuration);
-		Iterator areas = configAreas.iterator();
+		Iterator<FilterConfigurationArea> areas = configAreas.iterator();
 		while (areas.hasNext()) {
-			FilterConfigurationArea area = (FilterConfigurationArea) areas
-					.next();
-			if (area instanceof GroupFilterConfigurationArea)
-				((GroupFilterConfigurationArea) area)
-						.initializeFromGroup(configuration);
+			FilterConfigurationArea area = areas.next();
+			if (area instanceof GroupFilterConfigurationArea) {
+				((GroupFilterConfigurationArea) area).initializeFromGroup(configuration);
+			}
 			area.initialize(configuration.getFilter(area.getField()));
 		}
-
 	}
 
 	private void createConfigDesc(Composite parent) {
-
 		Label separator = new Label(parent, SWT.SEPARATOR | SWT.VERTICAL);
 		separator.setLayoutData(new GridData(GridData.FILL_VERTICAL));
 
@@ -433,44 +399,38 @@
 
 		form = toolkit.createScrolledForm(descComposite);
 		form.setBackground(parent.getBackground());
-
 		form.getBody().setLayout(new GridLayout());
 
 		configAreas = generator.createFilterConfigurationFields();
 
 		createFieldArea(toolkit, form, scopeArea, true);
-		Iterator areas = configAreas.iterator();
+		Iterator<FilterConfigurationArea> areas = configAreas.iterator();
 		while (areas.hasNext()) {
-			createFieldArea(toolkit, form,
-					(FilterConfigurationArea) areas.next(), true);
+			createFieldArea(toolkit, form, areas.next(), true);
 		}
-
 	}
 
 	/**
 	 * Create a field area in the form for the FilterConfigurationArea
 	 *
 	 * @param toolkit
-	 * @param form
+	 * @param scrolledForm
 	 * @param area
 	 * @param expand
 	 *            <code>true</code> if the area should be expanded by default
 	 */
-	private void createFieldArea(final FormToolkit toolkit,
-			final ScrolledForm form, final FilterConfigurationArea area,
-			boolean expand) {
-		final ExpandableComposite expandable = toolkit
-				.createExpandableComposite(form.getBody(),
-						ExpandableComposite.TWISTIE);
+	private void createFieldArea(final FormToolkit toolkit, final ScrolledForm scrolledForm,
+			final FilterConfigurationArea area, boolean expand) {
+		final ExpandableComposite expandable = toolkit.createExpandableComposite(scrolledForm.getBody(),
+				ExpandableComposite.TWISTIE);
 		expandable.setText(area.getTitle());
-		expandable.setBackground(form.getBackground());
+		expandable.setBackground(scrolledForm.getBackground());
 		expandable.setLayout(new GridLayout());
-		expandable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, area
-				.grabExcessVerticalSpace()));
+		expandable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, area.grabExcessVerticalSpace()));
 		expandable.addExpansionListener(new ExpansionAdapter() {
 			@Override
 			public void expansionStateChanged(ExpansionEvent e) {
-				form.reflow(true);
+				scrolledForm.reflow(true);
 			}
 		});
 
@@ -478,14 +438,12 @@
 		GridLayout gridLayout = new GridLayout();
 		gridLayout.verticalSpacing = 3;
 		sectionClient.setLayout(gridLayout);
-		sectionClient.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true,
-				false));
-		sectionClient.setBackground(form.getBackground());
+		sectionClient.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
+		sectionClient.setBackground(scrolledForm.getBackground());
 
 		area.createContents(sectionClient);
 		expandable.setClient(sectionClient);
 		expandable.setExpanded(expand);
-
 	}
 
 	/**
@@ -531,15 +489,11 @@
 		});
 		renameButton.setEnabled(false);
 		setButtonLayoutData(renameButton);
-
 	}
 
 	private void renameFilter() {
-
 		MarkerFieldFilterGroup filterGroup = getSelectionFromTable();
-
 		IInputValidator nameValidator = getNameValidator(filterGroup.getName(), getCurrentConfigurationNames());
-
 		InputDialog inputDialog = new InputDialog(getShell(),
 				MarkerMessages.MarkerFilterDialog_title,
 				MarkerMessages.MarkerFilterDialog_message,
@@ -549,17 +503,17 @@
 			filterGroup.setName(inputDialog.getValue());
 			configsTable.refresh(filterGroup);
 		}
-
 	}
 
-	private IInputValidator getNameValidator(final String currentName, final Collection existingNames) {
+	private IInputValidator getNameValidator(final String currentName, final Collection<String> existingNames) {
 		return new IInputValidator() {
 
 			@Override
 			public String isValid(String newText) {
 				newText = newText.trim();
-				if (newText.length() == 0)
+				if (newText.length() == 0) {
 					return MarkerMessages.MarkerFilterDialog_emptyMessage;
+				}
 				if(existingNames.contains(newText) && !currentName.equals(newText)) {
 					return NLS.bind(MarkerMessages.filtersDialog_conflictingName, newText);
 				}
@@ -569,7 +523,6 @@
 	}
 
 	private void createAndOrButtons(Composite parent) {
-
 		allButton = new Button(parent, SWT.CHECK);
 		allButton.setText(MarkerMessages.ALL_Title);
 		allButton.addSelectionListener(new SelectionAdapter() {
@@ -602,7 +555,6 @@
 		GridData orData = new GridData();
 		orData.horizontalIndent = 20;
 		orButton.setLayoutData(orData);
-
 	}
 
 	/**
@@ -610,19 +562,17 @@
 	 *
 	 * @return Collection
 	 */
-	private Collection getCurrentConfigurationNames() {
-		Collection names = new ArrayList();
-		Iterator filterIterator = filterGroups.iterator();
+	private Collection<String> getCurrentConfigurationNames() {
+		Collection<String> names = new ArrayList<>();
+		Iterator<MarkerFieldFilterGroup> filterIterator = filterGroups.iterator();
 		while (filterIterator.hasNext()) {
-			names.add(((MarkerFieldFilterGroup) filterIterator.next())
-					.getName());
+			names.add(filterIterator.next().getName());
 		}
 		return names;
 	}
 
 	private void addConfiguration() {
-		String newName = getNewConfigurationName(
-				getCurrentConfigurationNames(),
+		String newName = getNewConfigurationName(getCurrentConfigurationNames(),
 				MarkerMessages.MarkerFilter_newFilterName);
 		MarkerFieldFilterGroup configuration = createConfiguration(newName);
 		filterGroups.add(configuration);
@@ -632,9 +582,7 @@
 		updateRadioButtonsFromTable();
 	}
 
-	private String getNewConfigurationName(final Collection avoidNames,
-			String initialName) {
-
+	private String getNewConfigurationName(final Collection<String> avoidNames, String initialName) {
 		String configName = initialName;
 		for (int i = 1; avoidNames.contains(configName); i++) {
 			configName = initialName + ' ' + i;
@@ -643,9 +591,7 @@
 	}
 
 	private MarkerFieldFilterGroup createConfiguration(String newName) {
-
-		MarkerFieldFilterGroup config = new MarkerFieldFilterGroup(null,
-				generator);
+		MarkerFieldFilterGroup config = new MarkerFieldFilterGroup(null, generator);
 		config.setName(newName);
 		return config;
 	}
@@ -658,12 +604,10 @@
 	private IDialogSettings getDialogSettings() {
 		IDialogSettings settings = IDEWorkbenchPlugin.getDefault()
 				.getDialogSettings().getSection(this.getClass().getName());
-
 		if (settings == null) {
 			settings = IDEWorkbenchPlugin.getDefault().getDialogSettings()
 					.addNewSection(this.getClass().getName());
 		}
-
 		return settings;
 	}
 
@@ -672,25 +616,21 @@
 	 *
 	 * @return Collection of {@link MarkerFieldFilterGroup}
 	 */
-	Collection getFilters() {
+	Collection<MarkerFieldFilterGroup> getFilters() {
 		return filterGroups;
 	}
 
 	private IStructuredSelection getInitialSelection() {
 		IDialogSettings settings = getDialogSettings();
-
 		String selectedGroupName = settings.get(SELECTED_FILTER_GROUP);
 
 		MarkerFieldFilterGroup selectedGroup = null;
 		if (selectedGroupName == null && filterGroups.size() > 0) {
-			selectedGroup = (MarkerFieldFilterGroup) filterGroups.iterator()
-					.next();
+			selectedGroup = filterGroups.iterator().next();
 		} else {
-
-			Iterator groups = filterGroups.iterator();
+			Iterator<MarkerFieldFilterGroup> groups = filterGroups.iterator();
 			while (groups.hasNext()) {
-				MarkerFieldFilterGroup group = (MarkerFieldFilterGroup) groups
-						.next();
+				MarkerFieldFilterGroup group = groups.next();
 				if (group.getName().equals(selectedGroupName)) {
 					selectedGroup = group;
 					break;
@@ -698,16 +638,14 @@
 			}
 		}
 
-		String[] selectedElementNames = settings
-				.getArray(PREV_SELECTED_ELEMENTS);
-		List selectedElements = new ArrayList();
+		String[] selectedElementNames = settings.getArray(PREV_SELECTED_ELEMENTS);
+		List<MarkerFieldFilterGroup> selectedElements = new ArrayList<>();
 
 		if (selectedElementNames != null) {
 			for (int i = 0; i < selectedElementNames.length; i++) {
-				Iterator filterGroupIterator = filterGroups.iterator();
+				Iterator<MarkerFieldFilterGroup> filterGroupIterator = filterGroups.iterator();
 				while (filterGroupIterator.hasNext()) {
-					MarkerFieldFilterGroup group = (MarkerFieldFilterGroup) filterGroupIterator
-							.next();
+					MarkerFieldFilterGroup group = filterGroupIterator.next();
 					if (Util.equals(group.getName(), selectedElementNames[i])) {
 						selectedElements.add(group);
 						break;
@@ -729,47 +667,37 @@
 	 * @param groups
 	 * @return Collection of MarkerFieldFilterGroup
 	 */
-	private Collection makeWorkingCopy(Collection groups) {
-		Iterator initialFiltersIterator = groups.iterator();
-		Collection returnFilters = new ArrayList(groups.size());
+	private Collection<MarkerFieldFilterGroup> makeWorkingCopy(Collection<MarkerFieldFilterGroup> groups) {
+		Iterator<MarkerFieldFilterGroup> initialFiltersIterator = groups.iterator();
+		Collection<MarkerFieldFilterGroup> returnFilters = new ArrayList<>(groups.size());
 		while (initialFiltersIterator.hasNext()) {
-			MarkerFieldFilterGroup group = (MarkerFieldFilterGroup) initialFiltersIterator
-					.next();
+			MarkerFieldFilterGroup group = initialFiltersIterator.next();
 			MarkerFieldFilterGroup copy = group.makeWorkingCopy();
-			if (copy != null)
+			if (copy != null) {
 				returnFilters.add(copy);
+			}
 		}
 		return returnFilters;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
 	@Override
 	protected void okPressed() {
-
 		generator.setMarkerLimitsEnabled(limitButton.getSelection());
 		generator.setMarkerLimits(Integer.parseInt(limitText.getText().trim()));
 
-		Iterator filterGroupIterator = filterGroups.iterator();
+		Iterator<MarkerFieldFilterGroup> filterGroupIterator = filterGroups.iterator();
 		while (filterGroupIterator.hasNext()) {
-			MarkerFieldFilterGroup group = (MarkerFieldFilterGroup) filterGroupIterator
-					.next();
+			MarkerFieldFilterGroup group = filterGroupIterator.next();
 			group.setEnabled(configsTable.getChecked(group));
 		}
 
 		storeConfiguration();
 		saveDialogSettings();
-
 		super.okPressed();
-
 	}
 
 	@Override
 	protected void performDefaults() {
-
 		andFilters = false;
 		andButton.setSelection(andFilters);
 		orButton.setSelection(!andFilters);
@@ -781,12 +709,9 @@
 				filterGroups.size() > 1 ? filterGroups.iterator().next()
 						: new Object[0]));
 
-		IPreferenceStore preferenceStore = IDEWorkbenchPlugin.getDefault()
-				.getPreferenceStore();
-		boolean useMarkerLimits = preferenceStore
-				.getBoolean(IDEInternalPreferences.USE_MARKER_LIMITS);
-		int markerLimits = useMarkerLimits ? preferenceStore
-				.getInt(IDEInternalPreferences.MARKER_LIMITS_VALUE) : 100;
+		IPreferenceStore preferenceStore = IDEWorkbenchPlugin.getDefault().getPreferenceStore();
+		boolean useMarkerLimits = preferenceStore.getBoolean(IDEInternalPreferences.USE_MARKER_LIMITS);
+		int markerLimits = useMarkerLimits ? preferenceStore.getInt(IDEInternalPreferences.MARKER_LIMITS_VALUE) : 100;
 
 		limitButton.setSelection(useMarkerLimits);
 		limitsLabel.setEnabled(useMarkerLimits);
@@ -802,8 +727,7 @@
 	 * @param selection
 	 */
 	private void removeFilters(ISelection selection) {
-		filterGroups.remove(((IStructuredSelection) selection)
-				.getFirstElement());
+		filterGroups.remove(((IStructuredSelection) selection).getFirstElement());
 		configsTable.refresh();
 		updateRadioButtonsFromTable();
 	}
@@ -812,18 +736,16 @@
 	 * Save the dialog settings for the receiver.
 	 */
 	private void saveDialogSettings() {
-
 		IDialogSettings settings = getDialogSettings();
-
-		if (selectedFilterGroup != null)
+		if (selectedFilterGroup != null) {
 			settings.put(SELECTED_FILTER_GROUP, selectedFilterGroup.getName());
+		}
 
 		String[] selectedNames = new String[previouslyChecked.length];
 		for (int i = 0; i < selectedNames.length; i++) {
 			selectedNames[i] = ((MarkerFieldFilterGroup)previouslyChecked[i]).getName();
 		}
 		settings.put(PREV_SELECTED_ELEMENTS, selectedNames);
-
 	}
 
 	private void updateButtonEnablement(MarkerFieldFilterGroup group) {
@@ -833,8 +755,7 @@
 	}
 
 	private MarkerFieldFilterGroup getSelectionFromTable() {
-		IStructuredSelection selection = (IStructuredSelection) configsTable
-				.getSelection();
+		IStructuredSelection selection = (IStructuredSelection) configsTable.getSelection();
 		return (MarkerFieldFilterGroup) selection.getFirstElement();
 	}
 
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/FiltersContribution.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/FiltersContribution.java
index a1eef9e..097aff3 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/FiltersContribution.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/FiltersContribution.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2011 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -32,35 +32,25 @@
  */
 public class FiltersContribution extends MarkersContribution {
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.actions.CompoundContributionItem#getContributionItems()
-	 */
 	@Override
 	protected IContributionItem[] getContributionItems() {
 		final ExtendedMarkersView view = getView();
-		if (view == null)
+		if (view == null) {
 			return new IContributionItem[0];
+		}
 
-		Collection groups = view.getAllFilters();
+		Collection<MarkerFieldFilterGroup> groups = view.getAllFilters();
 
-		if (groups.size() == 0)
+		if (groups.size() == 0) {
 			return new IContributionItem[0];
+		}
 
-		Iterator groupsIterator = groups.iterator();
+		Iterator<MarkerFieldFilterGroup> groupsIterator = groups.iterator();
 		IContributionItem[] items = new IContributionItem[groups.size() + 2];
 		for (int i = 0; i < groups.size(); i++) {
-			final MarkerFieldFilterGroup group = (MarkerFieldFilterGroup) groupsIterator
-					.next();
+			final MarkerFieldFilterGroup group = groupsIterator.next();
 			items[i] = new ContributionItem() {
 
-				/*
-				 * (non-Javadoc)
-				 *
-				 * @see org.eclipse.jface.action.ContributionItem#fill(org.eclipse.swt.widgets.Menu,
-				 *      int)
-				 */
 				@Override
 				public void fill(Menu menu, int index) {
 					MenuItem item = new MenuItem(menu, SWT.CHECK);
@@ -76,23 +66,18 @@
 				/**
 				 * Return the menu item listener for selection of a filter.
 				 *
-				 * @param group
-				 * @param view
+				 * @param filter
+				 * @param extendedView
 				 * @return Listener
 				 */
-				private Listener getMenuItemListener(
-						final MarkerFieldFilterGroup group,
-						final ExtendedMarkersView view) {
+				private Listener getMenuItemListener(final MarkerFieldFilterGroup filter,
+						final ExtendedMarkersView extendedView) {
 					return new Listener() {
-						/*
-						 * (non-Javadoc)
-						 *
-						 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-						 */
+
 						@Override
 						public void handleEvent(Event event) {
-							if (view != null)
-								view.toggleFilter(group);
+							if (extendedView != null)
+								extendedView.toggleFilter(filter);
 						}
 					};
 				}
@@ -103,7 +88,6 @@
 		items[groups.size() + 1] = getShowAllContribution();
 
 		return items;
-
 	}
 
 	/**
@@ -113,12 +97,7 @@
 	 */
 	private IContributionItem getShowAllContribution() {
 		return new ContributionItem() {
-			/*
-			 * (non-Javadoc)
-			 *
-			 * @see org.eclipse.jface.action.ContributionItem#fill(org.eclipse.swt.widgets.Menu,
-			 *      int)
-			 */
+
 			@Override
 			public void fill(Menu menu, int index) {
 				MenuItem item = new MenuItem(menu, SWT.CHECK);
@@ -126,16 +105,13 @@
 				item.setSelection(noFiltersSelected());
 
 				item.addListener(SWT.Selection, new Listener() {
-					/*
-					 * (non-Javadoc)
-					 *
-					 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-					 */
+
 					@Override
 					public void handleEvent(Event event) {
 						ExtendedMarkersView view = getView();
-						if (view != null)
+						if (view != null) {
 							view.disableAllFilters();
+						}
 					}
 				});
 			}
@@ -148,15 +124,16 @@
 			 */
 			private boolean noFiltersSelected() {
 				ExtendedMarkersView view = getView();
-				if (view == null)
+				if (view == null) {
 					return true;
+				}
 
-				Iterator groupsIterator= view.getAllFilters().iterator();
+				Iterator<MarkerFieldFilterGroup> groupsIterator = view.getAllFilters().iterator();
 				while (groupsIterator.hasNext()) {
-					MarkerFieldFilterGroup group = (MarkerFieldFilterGroup) groupsIterator
-							.next();
-					if (group.isEnabled())
+					MarkerFieldFilterGroup group = groupsIterator.next();
+					if (group.isEnabled()) {
 						return false;
+					}
 				}
 				return true;
 			}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/GroupsContribution.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/GroupsContribution.java
index ad15841..04be9a2 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/GroupsContribution.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/GroupsContribution.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2011 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -38,33 +38,29 @@
 		super();
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.actions.CompoundContributionItem#getContributionItems()
-	 */
 	@Override
 	protected IContributionItem[] getContributionItems() {
 		ExtendedMarkersView view = getView();
-		if (view == null)
+		if (view == null) {
 			return new IContributionItem[0];
+		}
 
-		Collection groups = view.getBuilder().getGenerator().getMarkerGroups();
+		Collection<MarkerGroup> groups = view.getBuilder().getGenerator().getMarkerGroups();
 
-		if (groups.isEmpty())
+		if (groups.isEmpty()) {
 			return new IContributionItem[0];
+		}
 
-		Iterator groupsIterator = groups.iterator();
+		Iterator<MarkerGroup> groupsIterator = groups.iterator();
 		IContributionItem[] items = new IContributionItem[groups.size() + 1];
 
 		for (int i = 0; i < items.length - 1; i++) {
-			final MarkerGroup group = (MarkerGroup) groupsIterator.next();
+			final MarkerGroup group = groupsIterator.next();
 			items[i] = getContributionItem(group);
 		}
 
 		items[items.length - 1] = getContributionItem(null);
 		return items;
-
 	}
 
 	/**
@@ -76,54 +72,37 @@
 	private IContributionItem getContributionItem(final MarkerGroup group) {
 		return new ContributionItem() {
 
-			/*
-			 * (non-Javadoc)
-			 *
-			 * @see org.eclipse.jface.action.ContributionItem#fill(org.eclipse.swt.widgets.Menu,
-			 *      int)
-			 */
 			@Override
 			public void fill(Menu menu, int index) {
 				MenuItem item = new MenuItem(menu, SWT.RADIO);
-				item.setText(group == null ? MarkerMessages.ProblemView_None
-						: group.getMarkerField().getName());
+				item.setText(group == null ? MarkerMessages.ProblemView_None : group.getMarkerField().getName());
 				ExtendedMarkersView view = getView();
-				item.addListener(SWT.Selection,
-						getMenuItemListener(group, view));
+				item.addListener(SWT.Selection, getMenuItemListener(group, view));
 
 				if (view != null) {
-					if (group == null)
+					if (group == null) {
 						item.setSelection(view.getCategoryGroup() == null);
-					else
-						item
-								.setSelection(group.equals(view
-										.getCategoryGroup()));
+					} else {
+						item.setSelection(group.equals(view.getCategoryGroup()));
+					}
 				}
-
 			}
 
 			/**
 			 * Return the menu item listener for selection of a filter.
 			 *
-			 * @param group
+			 * @param gr
 			 * @param view
 			 * @return Listener
 			 */
-			private Listener getMenuItemListener(final MarkerGroup group,
-					final ExtendedMarkersView view) {
+			private Listener getMenuItemListener(final MarkerGroup gr, final ExtendedMarkersView view) {
 				return new Listener() {
-					/*
-					 * (non-Javadoc)
-					 *
-					 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-					 */
 					@Override
 					public void handleEvent(Event event) {
-
 						MenuItem item = (MenuItem) event.widget;
-
-						if (item.getSelection() && view != null)
-							view.setCategoryGroup(group);
+						if (item.getSelection() && view != null) {
+							view.setCategoryGroup(gr);
+						}
 					}
 				};
 			}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/IncrementUpdateJob.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/IncrementUpdateJob.java
index 3116b15..bc9c219 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/IncrementUpdateJob.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/IncrementUpdateJob.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
+ * Copyright (c) 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -31,32 +31,25 @@
  */
 class IncrementUpdateJob extends MarkerUpdateJob {
 
-	private LinkedList incrementEntryList;
-	private LinkedList updateQueue;
+	private LinkedList<MarkerEntry> incrementEntryList;
+	private LinkedList<MarkerUpdate> updateQueue;
 
 	/**
 	 * @param builder
 	 */
 	public IncrementUpdateJob(CachedMarkerBuilder builder) {
 		super(builder);
-		incrementEntryList = new LinkedList();
+		incrementEntryList = new LinkedList<>();
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @seeorg.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.
-	 * IProgressMonitor)
-	 */
 	@Override
 	protected IStatus run(IProgressMonitor monitor) {
-		monitor.beginTask(MarkerMessages.MarkerView_processUpdates,
-				IProgressMonitor.UNKNOWN);
+		monitor.beginTask(MarkerMessages.MarkerView_processUpdates, IProgressMonitor.UNKNOWN);
 		boolean clean= isClean();
 		if (clean) {
 			clearEntries();
 		}
-		Collection markerEntries = incrementalEntries();
+		Collection<MarkerEntry> markerEntries = incrementalEntries();
 		if (clean) {
 			/*
 			 * Unfortunately we cannot lock marker operations between gathering
@@ -64,7 +57,7 @@
 			 * investigation
 			 */
 			clean = !clean(markerEntries, monitor);
-			LinkedList queue = getUpdatesQueue();
+			LinkedList<MarkerUpdate> queue = getUpdatesQueue();
 			synchronized (queue) {
 				queue.clear();
 			}
@@ -90,8 +83,7 @@
 		if (monitor.isCanceled()) {
 			return Status.CANCEL_STATUS;
 		}
-		builder.getUpdateScheduler().scheduleUIUpdate(
-				MarkerUpdateScheduler.SHORT_DELAY);
+		builder.getUpdateScheduler().scheduleUIUpdate(MarkerUpdateScheduler.SHORT_DELAY);
 		if (monitor.isCanceled()) {
 			return Status.CANCEL_STATUS;
 		}
@@ -105,7 +97,7 @@
 	 *
 	 * @param markerEntries
 	 */
-	private boolean updateIncrementalList(Collection markerEntries) {
+	private boolean updateIncrementalList(Collection<MarkerEntry> markerEntries) {
 		markerEntries.clear();
 		Markers clone = builder.getMarkers();
 		synchronized (clone) {
@@ -124,14 +116,14 @@
 	 * @param monitor
 	 */
 	private boolean processUpdates(IProgressMonitor monitor) {
-		Collection markerEntries = incrementalEntries();
+		Collection<MarkerEntry> markerEntries = incrementalEntries();
 		int addCount = 0, removedCount = 0, changedCount = 0, size = 0, newSize = 0;
-		LinkedList queue = getUpdatesQueue();
+		LinkedList<MarkerUpdate> queue = getUpdatesQueue();
 		MarkerUpdate next = null;
 		do {
 			synchronized (queue) {
 				if (!queue.isEmpty()) {
-					next = (MarkerUpdate) queue.removeFirst();
+					next = queue.removeFirst();
 				} else {
 					next = null;
 				}
@@ -175,12 +167,12 @@
 	 * @param added
 	 * @param monitor
 	 */
-	private void handleAddedEntries(Collection markerEntries, Collection added,
+	private void handleAddedEntries(Collection<MarkerEntry> markerEntries, Collection<MarkerEntry> added,
 			IProgressMonitor monitor) {
 		MarkerContentGenerator generator = builder.getGenerator();
-		Iterator iterator = added.iterator();
+		Iterator<MarkerEntry> iterator = added.iterator();
 		while (iterator.hasNext()) {
-			MarkerEntry entry = (MarkerEntry) iterator.next();
+			MarkerEntry entry = iterator.next();
 			if (generator.select(entry)) {
 				markerEntries.add(entry);
 			}
@@ -191,15 +183,15 @@
 	 * @param changed
 	 * @param monitor
 	 */
-	private void handleChangedEntries(Collection markerEntries,
-			Collection changed, IProgressMonitor monitor) {
+	private void handleChangedEntries(Collection<MarkerEntry> markerEntries,
+			Collection<MarkerEntry> changed, IProgressMonitor monitor) {
 		MarkerContentGenerator generator = builder.getGenerator();
-		Iterator iterator = changed.iterator();
+		Iterator<MarkerEntry> iterator = changed.iterator();
 		while (iterator.hasNext()) {
-			MarkerEntry entry = (MarkerEntry) iterator.next();
-			Iterator iterator2 = markerEntries.iterator();
+			MarkerEntry entry = iterator.next();
+			Iterator<MarkerEntry> iterator2 = markerEntries.iterator();
 			while (iterator2.hasNext()) {
-				MarkerEntry oldEntry = (MarkerEntry) iterator2.next();
+				MarkerEntry oldEntry = iterator2.next();
 				if (oldEntry.getMarker().equals(entry.getMarker())) {
 					iterator2.remove();
 				}
@@ -215,12 +207,12 @@
 	 * @param removed
 	 * @param monitor
 	 */
-	private void handleRemovedEntries(Collection markerEntries,
-			Collection removed, IProgressMonitor monitor) {
+	private void handleRemovedEntries(Collection<MarkerEntry> markerEntries,
+			Collection<MarkerEntry> removed, IProgressMonitor monitor) {
 		boolean found = false;
-		Iterator iterator = markerEntries.iterator();
+		Iterator<MarkerEntry> iterator = markerEntries.iterator();
 		while (iterator.hasNext()) {
-			MarkerEntry entry = (MarkerEntry) iterator.next();
+			MarkerEntry entry = iterator.next();
 			found = entry.getStaleState();
 			if (found) {
 				iterator.remove();
@@ -228,9 +220,9 @@
 			if (removed.isEmpty()) {
 				continue;
 			}
-			Iterator iterator2 = removed.iterator();
+			Iterator<MarkerEntry> iterator2 = removed.iterator();
 			while (iterator2.hasNext()) {
-				MarkerEntry stale = (MarkerEntry) iterator2.next();
+				MarkerEntry stale = iterator2.next();
 				if (stale.getMarker().equals(entry.getMarker())) {
 					iterator2.remove();
 					if (!found) {
@@ -247,7 +239,7 @@
 		// TODO: do we check for residuals?
 		iterator = markerEntries.iterator();
 		while (iterator.hasNext()) {
-			MarkerEntry entry = (MarkerEntry) iterator.next();
+			MarkerEntry entry = iterator.next();
 			if (entry.getMarker() != null && !entry.getMarker().exists()) {
 				iterator.remove();
 			}
@@ -258,23 +250,23 @@
 	 * Clean
 	 */
 	void clearEntries() {
-		incrementEntryList = new LinkedList();
+		incrementEntryList = new LinkedList<>();
 	}
 
 	/**
 	 * @return Returns the incrementEntryies.
 	 */
-	Collection incrementalEntries() {
+	Collection<MarkerEntry> incrementalEntries() {
 		return incrementEntryList;
 	}
 
 	/**
 	 * @return the updateQueue that holds the updates and maintains ordering
 	 */
-	LinkedList getUpdatesQueue() {
+	LinkedList<MarkerUpdate> getUpdatesQueue() {
 		synchronized (builder.MARKER_INCREMENTAL_UPDATE_FAMILY) {
 			if (updateQueue == null) {
-				updateQueue = new LinkedList();
+				updateQueue = new LinkedList<>();
 			}
 			return updateQueue;
 		}
@@ -286,17 +278,12 @@
 	 * @param update
 	 */
 	void addUpdate(MarkerUpdate update) {
-		LinkedList updateList = getUpdatesQueue();
+		LinkedList<MarkerUpdate> updateList = getUpdatesQueue();
 		synchronized (updateList) {
 			updateList.addLast(update);
 		}
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.core.runtime.jobs.Job#belongsTo(java.lang.Object)
-	 */
 	@Override
 	public boolean belongsTo(Object family) {
 		if (family.equals(builder.MARKER_INCREMENTAL_UPDATE_FAMILY)) {
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkCompletedHandler.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkCompletedHandler.java
index e393ac6..72889bd 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkCompletedHandler.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkCompletedHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007,2008 IBM Corporation and others.
+ * Copyright (c) 2007,2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -37,49 +37,33 @@
  */
 public class MarkCompletedHandler extends MarkerViewHandler {
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
-	 */
 	@Override
 	public Object execute(ExecutionEvent event) {
 
 		final ExecutionEvent finalEvent = event;
 		try {
-			PlatformUI.getWorkbench().getProgressService().run(true, true,
-					new IRunnableWithProgress() {
-						/*
-						 * (non-Javadoc)
-						 *
-						 * @see org.eclipse.jface.operation.IRunnableWithProgress#run(org.eclipse.core.runtime.IProgressMonitor)
-						 */
-						@Override
-						public void run(IProgressMonitor monitor) {
-							monitor.beginTask(
-									MarkerMessages.markCompletedHandler_task,
-									100);
-							IMarker[] markers = getSelectedMarkers(finalEvent);
-							if (markers.length == 0)
-								return;
+			PlatformUI.getWorkbench().getProgressService().run(true, true, new IRunnableWithProgress() {
+				@Override
+				public void run(IProgressMonitor monitor) {
+					monitor.beginTask(MarkerMessages.markCompletedHandler_task, 100);
+					IMarker[] markers = getSelectedMarkers(finalEvent);
+					if (markers.length == 0) {
+						return;
+					}
 
-							Map attrs = new HashMap();
-							attrs.put(IMarker.DONE, Boolean.TRUE);
-							IUndoableOperation op = new UpdateMarkersOperation(
-									markers, attrs,
-									MarkerMessages.markCompletedAction_title,
-									true);
+					Map<String, Boolean> attrs = new HashMap<>();
+					attrs.put(IMarker.DONE, Boolean.TRUE);
+					IUndoableOperation op = new UpdateMarkersOperation(markers, attrs,
+							MarkerMessages.markCompletedAction_title, true);
 
-							monitor.worked(20);
-							if(monitor.isCanceled())
-								return;
-							execute(op,
-									MarkerMessages.markCompletedAction_title,
-									new SubProgressMonitor(monitor, 80), null);
-							monitor.done();
-
-						}
-					});
+					monitor.worked(20);
+					if(monitor.isCanceled()) {
+						return;
+					}
+					execute(op, MarkerMessages.markCompletedAction_title, new SubProgressMonitor(monitor, 80), null);
+					monitor.done();
+				}
+			});
 		} catch (InvocationTargetException e) {
 			StatusManager.getManager().handle(
 					StatusUtil.newStatus(IStatus.ERROR,
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerComparator.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerComparator.java
index 62c3851..47ce0db 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerComparator.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerComparator.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -26,7 +26,7 @@
  * @since 3.4
  *
  */
-class MarkerComparator implements Comparator {
+class MarkerComparator implements Comparator<MarkerItem> {
 
 	private MarkerField category;
 
@@ -45,7 +45,7 @@
 	private static final String DESCENDING_FIELDS = "DESCENDING_FIELDS"; //$NON-NLS-1$
 
 	// The fields with reversed direction
-	HashSet descendingFields = new HashSet();
+	HashSet<MarkerField> descendingFields = new HashSet<>();
 
 	/**
 	 * Create a new instance of the receiver categorised by categoryField
@@ -67,10 +67,11 @@
 	 * @return int
 	 * @see Comparable#compareTo(Object)
 	 */
-	public int compareCategory(Object object1, Object object2) {
-		if (category == null)
+	public int compareCategory(MarkerItem object1, MarkerItem object2) {
+		if (category == null) {
 			return 0;
-		return category.compare((MarkerItem) object1, (MarkerItem) object2);
+		}
+		return category.compare(object1, object2);
 	}
 
 	/**
@@ -79,28 +80,22 @@
 	 *
 	 * @return Comparator
 	 */
-	Comparator getCategoryComparator(){
-		return new Comparator(){
+	Comparator<MarkerItem> getCategoryComparator() {
+		return new Comparator<MarkerItem>() {
 			@Override
-			public int compare(Object o1, Object o2) {
+			public int compare(MarkerItem o1, MarkerItem o2) {
 				return compareCategory(o1, o2);
 			}
 		};
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-	 */
 	@Override
-	public int compare(Object arg0, Object arg1) {
-
+	public int compare(MarkerItem arg0, MarkerItem arg1) {
 		// Sort by category first
 		int value = compareCategory(arg0, arg1);
-		if (value == 0)
+		if (value == 0) {
 			value=compareFields(arg0, arg1);
-
+		}
 		return value ;
 	}
 
@@ -111,14 +106,15 @@
 	 * @param item1
 	 * @return int
 	 */
-	public int compareFields(Object item0, Object item1) {
-		int value=0;
+	public int compareFields(MarkerItem item0, MarkerItem item1) {
+		int value = 0;
 		for (int i = 0; i < fields.length; i++) {
-			if (descendingFields.contains(fields[i])){
-				value = fields[i].compare((MarkerItem)item1,(MarkerItem)item0);
-			}else{
-				value = fields[i].compare((MarkerItem)item0,(MarkerItem)item1);
-			}if (value != 0){
+			if (descendingFields.contains(fields[i])) {
+				value = fields[i].compare(item1, item0);
+			} else {
+				value = fields[i].compare(item0, item1);
+			}
+			if (value != 0) {
 				break;
 			}
 		}
@@ -129,10 +125,10 @@
 	 *
 	 * @return Comparator
 	 */
-	Comparator getFieldsComparator(){
-		return new Comparator(){
+	Comparator<MarkerItem> getFieldsComparator() {
+		return new Comparator<MarkerItem>() {
 			@Override
-			public int compare(Object o1, Object o2) {
+			public int compare(MarkerItem o1, MarkerItem o2) {
 				return compareFields(o1, o2);
 			}
 		};
@@ -145,10 +141,10 @@
 	 * @param field
 	 */
 	public void reversePriority(MarkerField field) {
-		if (descendingFields.remove(field))
+		if (descendingFields.remove(field)) {
 			return;
+		}
 		descendingFields.add(field);
-
 	}
 
 	/**
@@ -166,14 +162,13 @@
 
 		newFields[0] = field;
 		for (int i = 0; i < newFields.length; i++) {
-			if (fields[i] == field)
+			if (fields[i] == field) {
 				continue;
+			}
 			newFields[insertionIndex] = fields[i];
 			insertionIndex++;
 		}
-
 		fields = newFields;
-
 	}
 
 	/**
@@ -182,17 +177,16 @@
 	 * @param memento
 	 */
 	void restore(IMemento memento) {
-		if (memento == null)
+		if (memento == null) {
 			return;
+		}
 
 		String primaryField = memento.getString(PRIMARY_SORT_FIELD_TAG);
-		if (primaryField == null
-				|| primaryField.equals(MarkerSupportInternalUtilities
-						.getId(fields[0])))
+		if (primaryField == null || primaryField.equals(MarkerSupportInternalUtilities.getId(fields[0]))) {
 			return;
+		}
 		for (int i = 1; i < fields.length; i++) {
-			if (MarkerSupportInternalUtilities.getId(fields[i]).equals(
-					primaryField)) {
+			if (MarkerSupportInternalUtilities.getId(fields[i]).equals(primaryField)) {
 				setPrimarySortField(fields[i]);
 				break;
 			}
@@ -201,15 +195,13 @@
 
 		for (int i = 0; i < fields.length; i++) {
 			for (int j = 0; j < descending.length; j++) {
-				if (descending[j].getID().equals(
-						MarkerSupportInternalUtilities.getId(fields[i]))) {
+				if (descending[j].getID().equals(MarkerSupportInternalUtilities.getId(fields[i]))) {
 					descendingFields.add(fields[i]);
 					continue;
 				}
 
 			}
 		}
-
 	}
 
 	/**
@@ -218,15 +210,11 @@
 	 * @param memento
 	 */
 	void saveState(IMemento memento) {
-		memento.putString(PRIMARY_SORT_FIELD_TAG,
-				MarkerSupportInternalUtilities.getId(fields[0]));
-		Iterator descendingIterator = descendingFields.iterator();
+		memento.putString(PRIMARY_SORT_FIELD_TAG, MarkerSupportInternalUtilities.getId(fields[0]));
+		Iterator<MarkerField> descendingIterator = descendingFields.iterator();
 		while (descendingIterator.hasNext()) {
-			memento.createChild(DESCENDING_FIELDS,
-					(MarkerSupportInternalUtilities
-							.getId((MarkerField) descendingIterator.next())));
+			memento.createChild(DESCENDING_FIELDS, (MarkerSupportInternalUtilities.getId(descendingIterator.next())));
 		}
-
 	}
 
 	/**
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerContentGenerator.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerContentGenerator.java
index 6abfc82..da78c2e 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerContentGenerator.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerContentGenerator.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2014 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -25,6 +25,7 @@
 import java.util.List;
 
 import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.mapping.ResourceMapping;
 import org.eclipse.core.runtime.CoreException;
@@ -71,7 +72,7 @@
 	private static final String TAG_MARKER_LIMIT_ENABLED = "markerLimitEnabled"; //$NON-NLS-1$
 
 	/*Use this to indicate filter change rather than a null*/
-	private final Collection FILTERS_CHANGED = Collections.EMPTY_SET;
+	private final Collection<MarkerFieldFilterGroup> FILTERS_CHANGED = Collections.emptySet();
 
 	//Carries the description for the generator, as coded in the given extension point
 	private ContentGeneratorDescriptor generatorDescriptor;
@@ -80,9 +81,9 @@
 	private MarkerField[] visibleFields;
 
 	// filters
-	private Collection enabledFilters;
-	private Collection filters;
-	private boolean andFilters = false;
+	private Collection<MarkerFieldFilterGroup> enabledFilters;
+	private Collection<MarkerFieldFilterGroup> filters;
+	private boolean andFilters;
 	private int markerLimits = 100;
 	private boolean markerLimitsEnabled = true;
 
@@ -92,7 +93,7 @@
 	 */
 	private IResource[] selectedResources = MarkerSupportInternalUtilities.EMPTY_RESOURCE_ARRAY;
 
-	private Collection currentResources = Collections.EMPTY_SET;
+	private Collection<IResource> currentResources = Collections.emptySet();
 
 	private CachedMarkerBuilder builder;
 	private String viewId;
@@ -107,9 +108,8 @@
 	 * @param viewId
 	 * 				needed for backward compatibility
 	 */
-	public MarkerContentGenerator(
-			ContentGeneratorDescriptor generatorDescriptor,
-			CachedMarkerBuilder builder, String viewId) {
+	public MarkerContentGenerator(ContentGeneratorDescriptor generatorDescriptor, CachedMarkerBuilder builder,
+			String viewId) {
 		this.generatorDescriptor = generatorDescriptor;
 		this.viewId = viewId;
 		setBuilder(builder);
@@ -149,7 +149,7 @@
 	 * @param selectedTypes
 	 * @return boolean
 	 */
-	boolean allTypesSelected(Collection selectedTypes) {
+	boolean allTypesSelected(Collection<MarkerType> selectedTypes) {
 		return generatorDescriptor.allTypesSelected(selectedTypes);
 	}
 
@@ -176,12 +176,10 @@
 	 *
 	 * @param visible
 	 */
-	void setVisibleFields(Collection visible) {
-
+	void setVisibleFields(Collection<MarkerField> visible) {
 		MarkerField[] newFields = new MarkerField[visible.size()];
 		visible.toArray(newFields);
 		visibleFields = newFields;
-
 	}
 
 	/**
@@ -193,7 +191,7 @@
 		MarkerField[] all = getAllFields();
 		MarkerField[] visible = getVisibleFields();
 
-		Collection hidden = new HashSet();
+		Collection<MarkerField> hidden = new HashSet<>();
 		for (int i = 0; i < all.length; i++) {
 			hidden.add(all[i]);
 		}
@@ -204,7 +202,6 @@
 	}
 
 	void saveState(IMemento memento, MarkerField[] displayedFields) {
-
 		for (int i = 0; i < displayedFields.length; i++) {
 			memento.createChild(TAG_COLUMN_VISIBILITY, displayedFields[i]
 					.getConfigurationElement().getAttribute(
@@ -213,9 +210,7 @@
 	}
 
 	void restoreState(IMemento memento) {
-
 		initDefaults();
-
 		if (memento == null) {
 			return;
 		}
@@ -231,12 +226,11 @@
 		}
 
 		if (memento.getChildren(TAG_COLUMN_VISIBILITY).length != 0) {
-
 			IMemento[] visible = memento.getChildren(TAG_COLUMN_VISIBILITY);
-			Collection newVisible = new ArrayList();
+			Collection<MarkerField> newVisible = new ArrayList<>();
 
 			MarkerField[] all = getAllFields();
-			Hashtable allTable = new Hashtable();
+			Hashtable<String, MarkerField> allTable = new Hashtable<>();
 
 			for (int i = 0; i < all.length; i++) {
 				allTable.put(all[i].getConfigurationElement().getAttribute(
@@ -256,19 +250,14 @@
 	}
 
 	private void initDefaults() {
-
-		IPreferenceStore store = IDEWorkbenchPlugin.getDefault()
-				.getPreferenceStore();
-		markerLimitsEnabled = store
-				.getBoolean(IDEInternalPreferences.USE_MARKER_LIMITS);
+		IPreferenceStore store = IDEWorkbenchPlugin.getDefault().getPreferenceStore();
+		markerLimitsEnabled = store.getBoolean(IDEInternalPreferences.USE_MARKER_LIMITS);
 		markerLimits = store.getInt(IDEInternalPreferences.MARKER_LIMITS_VALUE);
 
 		MarkerField[] initialFields = getInitialVisible();
 
 		visibleFields = new MarkerField[initialFields.length];
-		System.arraycopy(initialFields, 0, visibleFields, 0,
-				initialFields.length);
-
+		System.arraycopy(initialFields, 0, visibleFields, 0, initialFields.length);
 	}
 
 	/**
@@ -276,8 +265,8 @@
 	 *
 	 * @return Collection of {@link FilterConfigurationArea}
 	 */
-	Collection createFilterConfigurationFields() {
-		Collection result = new ArrayList();
+	Collection<FilterConfigurationArea> createFilterConfigurationFields() {
+		Collection<FilterConfigurationArea> result = new ArrayList<>();
 		for (int i = 0; i < visibleFields.length; i++) {
 			FilterConfigurationArea area = MarkerSupportInternalUtilities
 					.generateFilterArea(visibleFields[i]);
@@ -293,7 +282,6 @@
 	 */
 	String getCategoryName() {
 		return generatorDescriptor.getCategoryName();
-
 	}
 
 	/**
@@ -301,12 +289,11 @@
 	 *
 	 * @return Collection of MarkerFieldFilterGroup
 	 */
-	Collection getAllFilters() {
+	Collection<MarkerFieldFilterGroup> getAllFilters() {
 		if (filters == null || filters == FILTERS_CHANGED) {
 			filters = getDeclaredFilters();
 			// Apply the last settings
 			loadFiltersPreference();
-
 		}
 		return filters;
 	}
@@ -316,15 +303,15 @@
 	 *
 	 * @return Collection of MarkerFieldFilterGroup
 	 */
-	Collection getEnabledFilters() {
+	Collection<MarkerFieldFilterGroup> getEnabledFilters() {
 		if (enabledFilters == null || enabledFilters == FILTERS_CHANGED) {
-			Collection enabled = new HashSet();
-			Iterator filtersIterator = getAllFilters().iterator();
+			Collection<MarkerFieldFilterGroup> enabled = new HashSet<>();
+			Iterator<MarkerFieldFilterGroup> filtersIterator = getAllFilters().iterator();
 			while (filtersIterator.hasNext()) {
-				MarkerFieldFilterGroup next = (MarkerFieldFilterGroup) filtersIterator
-						.next();
-				if (next.isEnabled())
+				MarkerFieldFilterGroup next = filtersIterator.next();
+				if (next.isEnabled()) {
 					enabled.add(next);
+				}
 			}
 			enabledFilters = enabled;
 		}
@@ -344,11 +331,10 @@
 	 * Disable all of the filters in the receiver.
 	 */
 	void disableAllFilters() {
-		Collection allFilters = getEnabledFilters();
-		Iterator enabled = allFilters.iterator();
+		Collection<MarkerFieldFilterGroup> allFilters = getEnabledFilters();
+		Iterator<MarkerFieldFilterGroup> enabled = allFilters.iterator();
 		while (enabled.hasNext()) {
-			MarkerFieldFilterGroup group = (MarkerFieldFilterGroup) enabled
-					.next();
+			MarkerFieldFilterGroup group = enabled.next();
 			group.setEnabled(false);
 		}
 		allFilters.clear();
@@ -362,11 +348,10 @@
 	 * @param group
 	 */
 	void toggleFilter(MarkerFieldFilterGroup group) {
-		Collection enabled = getEnabledFilters();
-		if (enabled.remove(group)) // true if it was present
+		Collection<MarkerFieldFilterGroup> enabled = getEnabledFilters();
+		if (enabled.remove(group)) {
 			group.setEnabled(false);
-
-		else {
+		} else {
 			group.setEnabled(true);
 			enabled.add(group);
 		}
@@ -377,12 +362,12 @@
 	/**
 	 * Update the filters.
 	 *
-	 * @param filters
-	 * @param andFilters
+	 * @param newFilters
+	 * @param newAndFilters
 	 */
-	void updateFilters(Collection filters, boolean andFilters) {
-		setAndFilters(andFilters);
-		this.filters = filters;
+	void updateFilters(Collection<MarkerFieldFilterGroup> newFilters, boolean newAndFilters) {
+		setAndFilters(newAndFilters);
+		this.filters = newFilters;
 		enabledFilters = FILTERS_CHANGED;
 		writeFiltersPreference();
 		requestMarkerUpdate();
@@ -437,22 +422,22 @@
 	/**
 	 * @return Collection of declared MarkerFieldFilterGroup(s)
 	 */
-	Collection getDeclaredFilters() {
-		List filters = new ArrayList();
+	Collection<MarkerFieldFilterGroup> getDeclaredFilters() {
+		List<MarkerFieldFilterGroup> filterList = new ArrayList<>();
 		IConfigurationElement[] filterReferences = generatorDescriptor.getFilterReferences();
 		for (int i = 0; i < filterReferences.length; i++) {
-			filters.add(new MarkerFieldFilterGroup(filterReferences[i], this));
+			filterList.add(new MarkerFieldFilterGroup(filterReferences[i], this));
 		}
 
 		// Honour the deprecated problemFilters
 		if (viewId != null && viewId.equals(IPageLayout.ID_PROBLEM_VIEW)) {
-			Iterator problemFilters = MarkerSupportRegistry.getInstance()
+			Iterator<ProblemFilter> problemFilters = MarkerSupportRegistry.getInstance()
 					.getRegisteredFilters().iterator();
-			while (problemFilters.hasNext())
-				filters.add(new CompatibilityMarkerFieldFilterGroup(
-						(ProblemFilter) problemFilters.next(), this));
+			while (problemFilters.hasNext()) {
+				filterList.add(new CompatibilityMarkerFieldFilterGroup(problemFilters.next(), this));
+			}
 		}
-		return filters;
+		return filterList;
 	}
 
 	/**
@@ -461,18 +446,20 @@
 	 * @return String
 	 */
 	private String getLegacyFiltersPreferenceName() {
-		if (viewId != null && viewId.equals(IPageLayout.ID_BOOKMARKS))
+		if (viewId != null && viewId.equals(IPageLayout.ID_BOOKMARKS)) {
 			return IDEInternalPreferences.BOOKMARKS_FILTERS;
-		if (viewId != null && viewId.equals(IPageLayout.ID_TASK_LIST))
+		}
+		if (viewId != null && viewId.equals(IPageLayout.ID_TASK_LIST)) {
 			return IDEInternalPreferences.TASKS_FILTERS;
+		}
 		return IDEInternalPreferences.PROBLEMS_FILTERS;
 
 	}
 
 	private void loadLimitSettings(IMemento memento) {
-
-		if (memento == null)
+		if (memento == null) {
 			return;
+		}
 
 		Integer limits = memento.getInteger(TAG_MARKER_LIMIT);
 		if (limits != null) {
@@ -483,7 +470,6 @@
 		if (limitsEnabled != null) {
 			markerLimitsEnabled = limitsEnabled.booleanValue();
 		}
-
 	}
 
 	/**
@@ -492,26 +478,27 @@
 	 * @param memento
 	 */
 	private void loadFilterSettings(IMemento memento) {
-
-		if (memento == null)
+		if (memento == null) {
 			return;
+		}
 
 		Boolean andValue = memento.getBoolean(TAG_AND);
-		if (andValue != null)
+		if (andValue != null) {
 			setAndFilters(andValue.booleanValue());
+		}
 		IMemento children[] = memento.getChildren(TAG_GROUP_ENTRY);
 
 		for (int i = 0; i < children.length; i++) {
 			IMemento child = children[i];
 			String id = child.getString(IMemento.TAG_ID);
-			if (id == null)
+			if (id == null) {
 				continue;
-			if (!loadGroupWithID(child, id))
-
+			}
+			if (!loadGroupWithID(child, id)) {
 				// Did not find a match must have been added by the user
 				loadUserFilter(child);
+			}
 		}
-
 	}
 
 	/**
@@ -520,12 +507,12 @@
 	 * @param mementoString
 	 */
 	private void loadFiltersFrom(String mementoString) {
-		if (mementoString.equals(IPreferenceStore.STRING_DEFAULT_DEFAULT))
+		if (mementoString.equals(IPreferenceStore.STRING_DEFAULT_DEFAULT)) {
 			return;
+		}
 
 		try {
-			XMLMemento root = XMLMemento.createReadRoot(new StringReader(
-					mementoString));
+			XMLMemento root = XMLMemento.createReadRoot(new StringReader(mementoString));
 			loadLimitSettings(root);
 			loadFilterSettings(root);
 		} catch (WorkbenchException e) {
@@ -537,25 +524,20 @@
 	 * Load the filters preference.
 	 */
 	private void loadFiltersPreference() {
-
-		loadFiltersFrom(IDEWorkbenchPlugin.getDefault().getPreferenceStore()
-				.getString(getMementoPreferenceName()));
+		loadFiltersFrom(IDEWorkbenchPlugin.getDefault().getPreferenceStore().getString(getMementoPreferenceName()));
 
 		String legacyFilters = getLegacyFiltersPreferenceName();
-		String migrationPreference = legacyFilters
-				+ MarkerSupportInternalUtilities.MIGRATE_PREFERENCE_CONSTANT;
+		String migrationPreference = legacyFilters + MarkerSupportInternalUtilities.MIGRATE_PREFERENCE_CONSTANT;
 
-		if (IDEWorkbenchPlugin.getDefault().getPreferenceStore().getBoolean(
-				migrationPreference))
+		if (IDEWorkbenchPlugin.getDefault().getPreferenceStore().getBoolean(migrationPreference)) {
 			return;// Already migrated
+		}
 
 		// Load any defined in a pre 3.4 workbench
-		loadLegacyFiltersFrom(IDEWorkbenchPlugin.getDefault()
-				.getPreferenceStore().getString(legacyFilters));
+		loadLegacyFiltersFrom(IDEWorkbenchPlugin.getDefault().getPreferenceStore().getString(legacyFilters));
 
 		// Mark as migrated
-		IDEWorkbenchPlugin.getDefault().getPreferenceStore().setValue(
-				migrationPreference, true);
+		IDEWorkbenchPlugin.getDefault().getPreferenceStore().setValue(migrationPreference, true);
 	}
 
 	/**
@@ -574,11 +556,10 @@
 	 * @return <code>true</code> if a matching group was found
 	 */
 	private boolean loadGroupWithID(IMemento child, String id) {
-		Iterator groups = getAllFilters().iterator();
+		Iterator<MarkerFieldFilterGroup> groups = getAllFilters().iterator();
 
 		while (groups.hasNext()) {
-			MarkerFieldFilterGroup group = (MarkerFieldFilterGroup) groups
-					.next();
+			MarkerFieldFilterGroup group = groups.next();
 			if (id.equals(group.getID())) {
 				group.loadSettings(child);
 				return true;
@@ -596,7 +577,6 @@
 		MarkerFieldFilterGroup newGroup = new MarkerFieldFilterGroup(null, this);
 		newGroup.legacyLoadSettings(child);
 		getAllFilters().add(newGroup);
-
 	}
 
 	/**
@@ -605,19 +585,17 @@
 	 * @param mementoString
 	 */
 	private void loadLegacyFiltersFrom(String mementoString) {
-
-		if (mementoString.equals(IPreferenceStore.STRING_DEFAULT_DEFAULT))
+		if (mementoString.equals(IPreferenceStore.STRING_DEFAULT_DEFAULT)) {
 			return;
+		}
 		IMemento memento;
 		try {
-			memento = XMLMemento
-					.createReadRoot(new StringReader(mementoString));
+			memento = XMLMemento.createReadRoot(new StringReader(mementoString));
 			restoreLegacyFilters(memento);
 		} catch (WorkbenchException e) {
 			StatusManager.getManager().handle(e.getStatus());
 			return;
 		}
-
 	}
 
 	/**
@@ -637,10 +615,10 @@
 	 * @param memento
 	 */
 	private void restoreLegacyFilters(IMemento memento) {
-
 		IMemento[] sections = null;
-		if (memento != null)
+		if (memento != null) {
 			sections = memento.getChildren(TAG_LEGACY_FILTER_ENTRY);
+		}
 
 		for (int i = 0; i < sections.length; i++) {
 			IMemento child = sections[i];
@@ -649,12 +627,8 @@
 				continue;
 			loadLegacyFilter(child);
 		}
-
 	}
 
-	/**
-	 *
-	 */
 	private void writeFiltersPreference() {
 		XMLMemento memento = XMLMemento.createWriteRoot(TAG_FILTERS_SECTION);
 
@@ -695,10 +669,8 @@
 	}
 
 	private void writeLimitSettings(XMLMemento memento) {
-
 		memento.putInteger(TAG_MARKER_LIMIT, markerLimits);
 		memento.putBoolean(TAG_MARKER_LIMIT_ENABLED, markerLimitsEnabled);
-
 	}
 
 	/**
@@ -707,18 +679,13 @@
 	 * @param memento
 	 */
 	private void writeFiltersSettings(XMLMemento memento) {
-
 		memento.putBoolean(TAG_AND, andFilters());
-
-		Iterator groups = getAllFilters().iterator();
+		Iterator<MarkerFieldFilterGroup> groups = getAllFilters().iterator();
 		while (groups.hasNext()) {
-			MarkerFieldFilterGroup group = (MarkerFieldFilterGroup) groups
-					.next();
-			IMemento child = memento
-					.createChild(TAG_GROUP_ENTRY, group.getID());
+			MarkerFieldFilterGroup group = groups.next();
+			IMemento child = memento.createChild(TAG_GROUP_ENTRY, group.getID());
 			group.saveFilterSettings(child);
 		}
-
 	}
 
 	/**
@@ -761,11 +728,12 @@
 	 * @return MarkerGroup or <code>null</code>
 	 */
 	MarkerGroup getMarkerGroup(String groupName) {
-		Iterator groups = getMarkerGroups().iterator();
+		Iterator<MarkerGroup> groups = getMarkerGroups().iterator();
 		while (groups.hasNext()) {
-			MarkerGroup group = (MarkerGroup) groups.next();
-			if (group.getId().equals(groupName))
+			MarkerGroup group = groups.next();
+			if (group.getId().equals(groupName)) {
 				return group;
+			}
 		}
 		return null;
 	}
@@ -775,7 +743,7 @@
 	 *
 	 * @return Collection of {@link MarkerGroup}
 	 */
-	Collection getMarkerGroups() {
+	Collection<MarkerGroup> getMarkerGroups() {
 		return generatorDescriptor.getMarkerGroups();
 	}
 
@@ -784,7 +752,7 @@
 	 *
 	 * @return Collection of {@link MarkerType}
 	 */
-	public Collection getMarkerTypes() {
+	public Collection<MarkerType> getMarkerTypes() {
 		return generatorDescriptor.getMarkerTypes();
 	}
 
@@ -794,12 +762,12 @@
 	 * @return Array of type Ids
 	 */
 	public String[] getTypes() {
-		Collection types = getMarkerTypes();
+		Collection<MarkerType> types = getMarkerTypes();
 		String[] ids = new String[types.size()];
-		Iterator iterator = types.iterator();
+		Iterator<MarkerType> iterator = types.iterator();
 		int i = 0;
 		while (iterator.hasNext()) {
-			ids[i++] = ((MarkerType) iterator.next()).getId();
+			ids[i++] = iterator.next().getId();
 		}
 		return ids;
 	}
@@ -835,16 +803,14 @@
 		}
 	}
 
-	boolean select(MarkerEntry entry, IResource[] selResources,
-			Collection enabledFilters, boolean andFilters) {
+	static boolean select(MarkerEntry entry, IResource[] selResources,
+			Collection<MarkerFieldFilterGroup> enabledFilters, boolean andFilters) {
 		if (enabledFilters.size() > 0) {
-			Iterator filtersIterator = enabledFilters.iterator();
+			Iterator<MarkerFieldFilterGroup> filtersIterator = enabledFilters.iterator();
 			if (andFilters) {
 				while (filtersIterator.hasNext()) {
-					MarkerFieldFilterGroup group = (MarkerFieldFilterGroup) filtersIterator
-							.next();
-					if (!group.selectByScope(entry, selResources)
-							|| !group.selectByFilters(entry)) {
+					MarkerFieldFilterGroup group = filtersIterator.next();
+					if (!group.selectByScope(entry, selResources) || !group.selectByFilters(entry)) {
 						return false;
 					}
 				}
@@ -852,10 +818,8 @@
 			}
 
 			while (filtersIterator.hasNext()) {
-				MarkerFieldFilterGroup group = (MarkerFieldFilterGroup) filtersIterator
-						.next();
-				if (group.selectByScope(entry, selResources)
-						&& group.selectByFilters(entry)) {
+				MarkerFieldFilterGroup group = filtersIterator.next();
+				if (group.selectByScope(entry, selResources) && group.selectByFilters(entry)) {
 					return true;
 				}
 			}
@@ -872,13 +836,12 @@
 	 * @param elements
 	 */
 	void internalUpdateSelectedElements(Object[] elements) {
-		Collection resourceCollection = new ArrayList();
+		Collection<IResource> resourceCollection = new ArrayList<>();
 		for (int i = 0; i < elements.length; i++) {
 			if (elements[i] instanceof IResource) {
-				resourceCollection.add(elements[i]);
+				resourceCollection.add((IResource) elements[i]);
 			} else {
-				MarkerResourceUtil.addResources(resourceCollection,
-						((ResourceMapping) elements[i]));
+				MarkerResourceUtil.addResources(resourceCollection, ((ResourceMapping) elements[i]));
 			}
 		}
 		IResource[] newSelection = new IResource[resourceCollection.size()];
@@ -909,36 +872,35 @@
 	 * @return boolean <code>true</code> if update is required.
 	 */
 	boolean updateNeededForSelection(Object[] newElements) {
+		Iterator<MarkerFieldFilterGroup> enabled = getEnabledFilters().iterator();
 
-		Iterator filters = getEnabledFilters().iterator();
-
-		while (filters.hasNext()) {
-			MarkerFieldFilterGroup filter = (MarkerFieldFilterGroup) filters
-					.next();
+		while (enabled.hasNext()) {
+			MarkerFieldFilterGroup filter = enabled.next();
 
 			int scope = filter.getScope();
-			if (scope == MarkerFieldFilterGroup.ON_ANY
-					|| scope == MarkerFieldFilterGroup.ON_WORKING_SET)
+			if (scope == MarkerFieldFilterGroup.ON_ANY || scope == MarkerFieldFilterGroup.ON_WORKING_SET) {
 				continue;
+			}
 
-			if (newElements == null || newElements.length < 1)
+			if (newElements == null || newElements.length < 1) {
 				continue;
+			}
 
-			if (selectedResources.length == 0)
+			if (selectedResources.length == 0) {
 				return true; // We had nothing now we have something
+			}
 
-			if (Arrays.equals(selectedResources, newElements))
+			if (Arrays.equals(selectedResources, newElements)) {
 				continue;
+			}
 
 			if (scope == MarkerFieldFilterGroup.ON_ANY_IN_SAME_CONTAINER) {
-				Collection oldProjects = MarkerResourceUtil
-						.getProjectsAsCollection(selectedResources);
-				Collection newProjects = MarkerResourceUtil
-						.getProjectsAsCollection(newElements);
+				Collection<IProject> oldProjects = MarkerResourceUtil.getProjectsAsCollection(selectedResources);
+				Collection<IProject> newProjects = MarkerResourceUtil.getProjectsAsCollection(newElements);
 
-				if (oldProjects.size() == newProjects.size()
-						&& newProjects.containsAll(oldProjects))
+				if (oldProjects.size() == newProjects.size() && newProjects.containsAll(oldProjects)) {
 					continue;
+				}
 				return true;// Something must be different
 			}
 			return true;
@@ -951,10 +913,9 @@
 	 * @return list of selected resources
 	 */
 	IResource[] getSelectedResources() {
-		IResource[] selected=selectedResources;
+		IResource[] selected = selectedResources;
 		IResource[] resources = new IResource[selected.length];
-		System.arraycopy(selected, 0, resources, 0,
-				selected.length);
+		System.arraycopy(selected, 0, resources, 0, selected.length);
 		return resources;
 	}
 
@@ -973,7 +934,7 @@
 	 *         enabled filters into account.
 	 *
 	 */
-	Collection getResourcesForBuild() {
+	Collection<IResource> getResourcesForBuild() {
 		currentResources = MarkerResourceUtil.computeResources(
 				getSelectedResources(), getEnabledFilters(), andFilters());
 		return currentResources;
@@ -1042,8 +1003,8 @@
 	 *
 	 * @param monitor
 	 */
-	Collection generateMarkerEntries(IProgressMonitor monitor) {
-		List result = new LinkedList();
+	Collection<MarkerEntry> generateMarkerEntries(IProgressMonitor monitor) {
+		List<MarkerEntry> result = new LinkedList<>();
 		String[] typeIds = getTypes();
 		boolean includeSubTypes = builder.includeMarkerSubTypes();
 		boolean cancelled = gatherMarkers(typeIds, includeSubTypes, result,
@@ -1059,7 +1020,7 @@
 	 * @param result
 	 * @param monitor
 	 */
-	boolean generateMarkerEntries(Collection result,IProgressMonitor monitor) {
+	boolean generateMarkerEntries(Collection<MarkerEntry> result,IProgressMonitor monitor) {
 		String[] typeIds = getTypes();
 		boolean includeSubTypes = builder.includeMarkerSubTypes();
 		return gatherMarkers(typeIds, includeSubTypes, result, monitor);
@@ -1073,27 +1034,24 @@
 	 * @param monitor
 	 */
 	boolean gatherMarkers(String[] typeIds, boolean includeSubTypes,
-			Collection result, IProgressMonitor monitor) {
+			Collection<MarkerEntry> result, IProgressMonitor monitor) {
 		try {
-			Collection resources = getResourcesForBuild();
+			Collection<IResource> resources = getResourcesForBuild();
 			if (includeSubTypes) {
 				// Optimize and calculate super types
-				String[] superTypes = MarkerResourceUtil
-						.getMutuallyExclusiveSupersIds(typeIds);
+				String[] superTypes = MarkerResourceUtil.getMutuallyExclusiveSupersIds(typeIds);
 				if (monitor.isCanceled()) {
 					return false;
 				}
 				for (int i = 0; i < superTypes.length; i++) {
-					boolean success = internalGatherMarkers(resources,superTypes[i],
-							includeSubTypes, result, monitor);
+					boolean success = internalGatherMarkers(resources, superTypes[i], includeSubTypes, result, monitor);
 					if (!success || monitor.isCanceled()) {
 						return false;
 					}
 				}
 			} else {
 				for (int i = 0; i < typeIds.length; i++) {
-					boolean success = internalGatherMarkers(resources,typeIds[i],
-							includeSubTypes, result, monitor);
+					boolean success = internalGatherMarkers(resources, typeIds[i], includeSubTypes, result, monitor);
 					if (!success || monitor.isCanceled()) {
 						return false;
 					}
@@ -1118,24 +1076,23 @@
 	 * @param result
 	 * @param monitor
 	 */
-	private boolean internalGatherMarkers(Collection resources, String typeId,
-			boolean includeSubTypes, Collection result, IProgressMonitor monitor) {
+	private boolean internalGatherMarkers(Collection<IResource> resources, String typeId,
+			boolean includeSubTypes, Collection<MarkerEntry> result, IProgressMonitor monitor) {
 		if (monitor.isCanceled()) {
 			return false;
 		}
 		IResource[] selected = getSelectedResources();
-		Collection filters = getEnabledFilters();
-		boolean andFilters = andFilters();
-		Iterator iterator = resources.iterator();
+		Collection<MarkerFieldFilterGroup> enabled = getEnabledFilters();
+		boolean filtersAreANDed = andFilters();
+		Iterator<IResource> iterator = resources.iterator();
 		while (iterator.hasNext()) {
 			IMarker[] markers = null;
 			try {
-				IResource resource = (IResource) iterator.next();
+				IResource resource = iterator.next();
 				if (!resource.isAccessible()) {
 					continue;
 				}
-				markers = resource.findMarkers(typeId, includeSubTypes,
-						IResource.DEPTH_INFINITE);
+				markers = resource.findMarkers(typeId, includeSubTypes, IResource.DEPTH_INFINITE);
 			} catch (CoreException e) {
 				MarkerSupportInternalUtilities.logViewError(e);
 			}
@@ -1146,10 +1103,10 @@
 				return false;
 			}
 			MarkerEntry entry = null;
-			int lenght =  markers.length;
+			int lenght = markers.length;
 			for (int i = 0; i < lenght; i++) {
 				entry = new MarkerEntry(markers[i]);
-				if (select(entry, selected, filters, andFilters)) {
+				if (select(entry, selected, enabled, filtersAreANDed)) {
 					result.add(entry);
 				}
 				entry.clearCache();
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerEntry.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerEntry.java
index 74b47da..2b7f32d 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerEntry.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerEntry.java
@@ -38,15 +38,15 @@
  *
  */
 class MarkerEntry extends MarkerSupportItem implements IAdaptable {
+
 	static {
 		Platform.getAdapterManager().registerAdapters(new IAdapterFactory() {
 
 			@Override
 			public <T> T getAdapter(Object adaptableObject, Class<T> adapterType) {
-				if (adapterType == IMarker.class
-						&& adaptableObject instanceof MarkerEntry)
+				if (adapterType == IMarker.class && adaptableObject instanceof MarkerEntry) {
 					return adapterType.cast(((MarkerEntry) adaptableObject).getMarker());
-
+				}
 				return null;
 			}
 
@@ -56,10 +56,11 @@
 			}
 		}, MarkerEntry.class);
 	}
+
 	// The key for the string we built for display
-	private static final Object LOCATION_STRING = "LOCATION_STRING"; //$NON-NLS-1$
+	private static final String LOCATION_STRING = "LOCATION_STRING"; //$NON-NLS-1$
 	private MarkerCategory category;
-	private Map cache;
+	private Map<String, Object> cache;
 
 	/**
 	 * Set the MarkerEntry to be stale, if discovered at any point of time
@@ -86,27 +87,28 @@
 
 	@Override
 	public <T> T getAdapter(Class<T> adapter) {
-		if (adapter.equals(IMarker.class))
+		if (adapter.equals(IMarker.class)) {
 			return adapter.cast(marker);
+		}
 		return null;
 	}
 
 	@Override
 	public boolean getAttributeValue(String attribute, boolean defaultValue) {
 		Object value = getAttributeValue(attribute);
-		if (value == null)
+		if (value == null) {
 			return defaultValue;
+		}
 		return ((Boolean) value).booleanValue();
 	}
 
 	@Override
 	public int getAttributeValue(String attribute, int defaultValue) {
-
 		Object value = getAttributeValue(attribute);
-		if (value == null)
+		if (value == null) {
 			return defaultValue;
+		}
 		return ((Integer) value).intValue();
-
 	}
 
 	/**
@@ -132,17 +134,18 @@
 				getCache().put(attribute, value);
 			}
 		}
-		if (value instanceof CollationKey)
+		if (value instanceof CollationKey) {
 			return ((CollationKey) value).getSourceString();
+		}
 		return value;
 	}
 
 	@Override
 	public String getAttributeValue(String attribute, String defaultValue) {
-
 		Object value = getAttributeValue(attribute);
-		if (value == null)
+		if (value == null) {
 			return defaultValue;
+		}
 		// The following toString() is a no-op for string attribute
 		// values (which we expect!), but safeguards against clients
 		// who used non-String objects (e.g. Integer) as attribute values,
@@ -159,11 +162,6 @@
 		return category;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.internal.views.markers.MarkerSupportItem#getChildren()
-	 */
 	@Override
 	MarkerSupportItem[] getChildren() {
 		return MarkerSupportInternalUtilities.EMPTY_MARKER_ITEM_ARRAY;
@@ -183,18 +181,18 @@
 		if (value != null) {
 			// Only return a collation key otherwise
 			//use the value to generate it
-			if (value instanceof CollationKey)
+			if (value instanceof CollationKey) {
 				return (CollationKey) value;
-
+			}
 			attributeValue = value.toString();
 		} else {
 			attributeValue = getAttributeValue(attribute, defaultValue);
 		}
 
-		if (attributeValue.length() == 0)
+		if (attributeValue.length() == 0) {
 			return MarkerSupportInternalUtilities.EMPTY_COLLATION_KEY;
-		CollationKey key = Collator.getInstance().getCollationKey(
-				attributeValue);
+		}
+		CollationKey key = Collator.getInstance().getCollationKey(attributeValue);
 		getCache().put(attribute, key);
 		return key;
 	}
@@ -215,8 +213,7 @@
 
 	@Override
 	String getDescription() {
-		return getAttributeValue(IMarker.MESSAGE,
-				MarkerSupportInternalUtilities.UNKNOWN_ATRRIBTE_VALUE_STRING);
+		return getAttributeValue(IMarker.MESSAGE, MarkerSupportInternalUtilities.UNKNOWN_ATRRIBTE_VALUE_STRING);
 	}
 
 	@Override
@@ -231,15 +228,15 @@
 		}
 		if (getCache().containsKey(LOCATION_STRING)) {
 			Object value = getCache().get(LOCATION_STRING);
-			if (value instanceof CollationKey)
+			if (value instanceof CollationKey) {
 				return ((CollationKey) value).getSourceString();
+			}
 			return (String) value;
 		}
 
 
 		// Is the location override set?
-		String locationString = getAttributeValue(IMarker.LOCATION,
-				MarkerSupportInternalUtilities.EMPTY_STRING);
+		String locationString = getAttributeValue(IMarker.LOCATION, MarkerSupportInternalUtilities.EMPTY_STRING);
 		if (locationString.length() > 0) {
 			getCache().put(LOCATION_STRING, locationString);
 			return locationString;
@@ -248,11 +245,11 @@
 		// No override so use line number
 		int lineNumber = getAttributeValue(IMarker.LINE_NUMBER, -1);
 		String lineNumberString;
-		if (lineNumber < 0)
+		if (lineNumber < 0) {
 			lineNumberString = MarkerMessages.Unknown;
-		else
-			lineNumberString = NLS.bind(MarkerMessages.label_lineNumber,
-					Integer.toString(lineNumber));
+		} else {
+			lineNumberString = NLS.bind(MarkerMessages.label_lineNumber, Integer.toString(lineNumber));
+		}
 
 		getCache().put(LOCATION_STRING, lineNumberString);
 		return lineNumberString;
@@ -267,31 +264,27 @@
 	@Override
 	String getMarkerTypeName() {
 		if(stale){
-			return NLS.bind(MarkerMessages.FieldMessage_WrongType, marker
-					.toString());
+			return NLS.bind(MarkerMessages.FieldMessage_WrongType, marker.toString());
 		}
 		try {
-			return MarkerTypesModel.getInstance().getType(marker.getType())
-					.getLabel();
+			return MarkerTypesModel.getInstance().getType(marker.getType()).getLabel();
 		} catch (CoreException e) {
 			checkIfMarkerStale() ;
 			Policy.handle(e);
-			return NLS.bind(MarkerMessages.FieldMessage_WrongType, marker
-					.toString());
+			return NLS.bind(MarkerMessages.FieldMessage_WrongType, marker.toString());
 		}
 	}
+
 	String getMarkerTypeId() {
 		if(stale){
-			return NLS.bind(MarkerMessages.FieldMessage_WrongType, marker
-					.toString());
+			return NLS.bind(MarkerMessages.FieldMessage_WrongType, marker.toString());
 		}
 		try {
 			return marker.getType();
 		} catch (CoreException e) {
 			checkIfMarkerStale();
 			Policy.handle(e);
-			return NLS.bind(MarkerMessages.FieldMessage_WrongType, marker
-					.toString());
+			return NLS.bind(MarkerMessages.FieldMessage_WrongType, marker.toString());
 		}
 	}
 
@@ -315,8 +308,7 @@
 		if (n <= 0) {
 			return super.getPath();
 		}
-		folder = path.removeLastSegments(1).removeTrailingSeparator()
-				.toString();
+		folder = path.removeLastSegments(1).removeTrailingSeparator().toString();
 		getCache().put(MarkerViewUtil.PATH_ATTRIBUTE, folder);
 		return folder;
 	}
@@ -333,7 +325,6 @@
 	 */
 	void setCategory(MarkerCategory markerCategory) {
 		category = markerCategory;
-
 	}
 
 	/**
@@ -354,9 +345,10 @@
 	 *
 	 * @return {@link HashMap}
 	 */
-	Map getCache() {
-		if (cache == null)
-			cache = new HashMap(2);
+	Map<String, Object> getCache() {
+		if (cache == null) {
+			cache = new HashMap<>(2);
+		}
 		return cache;
 	}
 
@@ -406,9 +398,6 @@
 		if (this == obj) {
 			return true;
 		}
-		if (obj == null) {
-			return false;
-		}
 		if (!(obj instanceof MarkerEntry)) {
 			return false;
 		}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerFieldFilterGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerFieldFilterGroup.java
index 60dfc31..be6425c 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerFieldFilterGroup.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerFieldFilterGroup.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2010 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -103,7 +103,7 @@
 
 	private IConfigurationElement element;
 
-	private Map EMPTY_MAP = new HashMap();
+	private Map<String, String> EMPTY_MAP = new HashMap<>();
 	private boolean enabled = true;
 	protected MarkerFieldFilter[] fieldFilters;
 	private int scope;
@@ -125,22 +125,20 @@
 	 * @param configurationElement
 	 * @param markerBuilder
 	 */
-	public MarkerFieldFilterGroup(IConfigurationElement configurationElement,
-			MarkerContentGenerator markerBuilder) {
+	public MarkerFieldFilterGroup(IConfigurationElement configurationElement, MarkerContentGenerator markerBuilder) {
 		element = configurationElement;
 		generator = markerBuilder;
 		initializeWorkingSet();
 		scope = processScope();
 
-		if (configurationElement == null)
+		if (configurationElement == null) {
 			return;
-		String stringValue = configurationElement
-				.getAttribute(MarkerSupportRegistry.ENABLED);
+		}
+		String stringValue = configurationElement.getAttribute(MarkerSupportRegistry.ENABLED);
 		if (MarkerSupportInternalUtilities.FALSE.equals(stringValue)) {
 			enabled = false;
 		}
-		stringValue = configurationElement
-				.getAttribute(MarkerSupportRegistry.FILTER_LIMIT);
+		stringValue = configurationElement.getAttribute(MarkerSupportRegistry.FILTER_LIMIT);
 		if (stringValue == null || stringValue.length() == 0) {
 			limit = -1;
 		}
@@ -151,7 +149,7 @@
 	 *
 	 * @return Collection of {@link MarkerType}
 	 */
-	Collection getAllTypes() {
+	Collection<MarkerType> getAllTypes() {
 		return generator.getMarkerTypes();
 	}
 
@@ -171,22 +169,22 @@
 	 * Calculate the filters for the receiver.
 	 */
 	protected void calculateFilters() {
-		Map values = getValues();
-		Collection filters = new ArrayList();
+		Map<String, String> values = getValues();
+		Collection<MarkerFieldFilter> filters = new ArrayList<>();
 		MarkerField[] fields = generator.getVisibleFields();
 		for (int i = 0; i < fields.length; i++) {
-			MarkerFieldFilter fieldFilter = MarkerSupportInternalUtilities
-					.generateFilter(fields[i]);
+			MarkerFieldFilter fieldFilter = MarkerSupportInternalUtilities.generateFilter(fields[i]);
 			if (fieldFilter != null) {
 				filters.add(fieldFilter);
 
 				// The type filter needs information from the generator
-				if (fieldFilter instanceof MarkerTypeFieldFilter)
+				if (fieldFilter instanceof MarkerTypeFieldFilter) {
 					// Show everything by default
-					((MarkerTypeFieldFilter) fieldFilter)
-							.setContentGenerator(generator);
-				if (values != null)
+					((MarkerTypeFieldFilter) fieldFilter).setContentGenerator(generator);
+				}
+				if (values != null) {
 					fieldFilter.initialize(values);
+				}
 			}
 		}
 		MarkerFieldFilter[] newFilters = new MarkerFieldFilter[filters.size()];
@@ -204,8 +202,9 @@
 	public MarkerFieldFilter getFilter(MarkerField field) {
 		MarkerFieldFilter[] filters = getFieldFilters();
 		for (int i = 0; i < filters.length; i++) {
-			if (filters[i].getField().equals(field))
+			if (filters[i].getField().equals(field)) {
 				return filters[i];
+			}
 		}
 		return null;
 	}
@@ -217,11 +216,11 @@
 	 */
 	public String getID() {
 		if (id == null) {
-			if (element == null)
+			if (element == null) {
 				id = USER + String.valueOf(System.currentTimeMillis());
-			else
-				id = element
-						.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_NAME);
+			} else {
+				id = element.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_NAME);
+			}
 		}
 		return id;
 	}
@@ -233,11 +232,11 @@
 	 */
 	public String getName() {
 		if (name == null) {
-			if (element == null)
+			if (element == null) {
 				name = MarkerSupportInternalUtilities.EMPTY_STRING;
-			else
-				name = element
-						.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_NAME);
+			} else {
+				name = element.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_NAME);
+			}
 		}
 		return name;
 	}
@@ -255,22 +254,22 @@
 
 		//Return workspace root for aggregates with no containing workingsets,ex. window working set
 		if (workingSet.isAggregateWorkingSet()&&workingSet.isEmpty()){
-			if(((AggregateWorkingSet) workingSet).getComponents().length==0)
+			if(((AggregateWorkingSet) workingSet).getComponents().length==0) {
 				return new IResource[] { ResourcesPlugin.getWorkspace().getRoot()};
+			}
 		}
 
 		IAdaptable[] elements = workingSet.getElements();
-		List result = new ArrayList(elements.length);
+		List<IResource> result = new ArrayList<>(elements.length);
 
 		for (int idx = 0; idx < elements.length; idx++) {
 			IResource next = elements[idx].getAdapter(IResource.class);
-
 			if (next != null) {
 				result.add(next);
 			}
 		}
 
-		return (IResource[]) result.toArray(new IResource[result.size()]);
+		return result.toArray(new IResource[result.size()]);
 	}
 
 	/**
@@ -283,6 +282,7 @@
 	 * @see #ON_SELECTED_ONLY
 	 * @see #ON_WORKING_SET
 	 */
+	@SuppressWarnings("javadoc")
 	public int getScope() {
 		return scope;
 	}
@@ -292,7 +292,7 @@
 	 *
 	 * @return Map of values to apply to a {@link MarkerFieldFilter}
 	 */
-	private Map getValues() {
+	private Map<String, String> getValues() {
 
 		try {
 			String className = null;
@@ -309,7 +309,6 @@
 			return null;
 		}
 		return EMPTY_MAP;
-
 	}
 
 	/**
@@ -332,8 +331,7 @@
 			 */
 			wSetResources=getResourcesInWorkingSet();
 		}else{
-			wSetResources = new IResource[] { ResourcesPlugin.getWorkspace()
-					.getRoot() };
+			wSetResources = new IResource[] { ResourcesPlugin.getWorkspace().getRoot() };
 		}
 	}
 
@@ -343,7 +341,9 @@
 	 * @return boolean
 	 */
 	private boolean isInWorkingSet(IResource resource) {
-		if(wSetResources==null)computeWorkingSetResources();
+		if (wSetResources == null) {
+			computeWorkingSetResources();
+		}
 		for (int i = 0; i < wSetResources.length; i++) {
 			if(wSetResources[i].getFullPath().isPrefixOf(resource.getFullPath())){
 				return true;
@@ -351,23 +351,22 @@
 		}
 		return false;
 	}
+
 	/**
 	 * Initialise the working set for the receiver. Use the window working set
 	 * for the working set and set the scope to ON_WORKING_SET if they are to be
 	 * used by default.
 	 */
 	private void initializeWorkingSet() {
-
-		IWorkbenchWindow window = PlatformUI.getWorkbench()
-				.getActiveWorkbenchWindow();
+		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
 		if (window != null) {
 			IWorkbenchPage page = window.getActivePage();
 			if (page != null) {
 				setWorkingSet(page.getAggregateWorkingSet());
 				if ((PlatformUI.getPreferenceStore()
-						.getBoolean(IWorkbenchPreferenceConstants.USE_WINDOW_WORKING_SET_BY_DEFAULT)))
+						.getBoolean(IWorkbenchPreferenceConstants.USE_WINDOW_WORKING_SET_BY_DEFAULT))) {
 					setScope(ON_WORKING_SET);
-
+				}
 			}
 		}
 	}
@@ -398,38 +397,39 @@
 	void legacyLoadSettings(IMemento memento) {
 
 		String enabledString = memento.getString(TAG_ENABLED);
-		if (enabledString != null && enabledString.length() > 0)
+		if (enabledString != null && enabledString.length() > 0) {
 			enabled = Boolean.valueOf(enabledString).booleanValue();
+		}
 
-		Integer resourceSetting = memento
-				.getInteger(MarkerFilter.TAG_ON_RESOURCE);
+		Integer resourceSetting = memento.getInteger(MarkerFilter.TAG_ON_RESOURCE);
 
-		if (resourceSetting != null)
+		if (resourceSetting != null) {
 			scope = resourceSetting.intValue();
+		}
 
 		String workingSetName = memento.getString(TAG_WORKING_SET);
 
-		if (workingSetName != null)
-			setWorkingSet(PlatformUI.getWorkbench().getWorkingSetManager()
-					.getWorkingSet(workingSetName));
+		if (workingSetName != null) {
+			setWorkingSet(PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSet(workingSetName));
+		}
 
 		if (element == null) {
 			String nameString = memento.getID();
-			if (nameString != null && nameString.length() > 0)
+			if (nameString != null && nameString.length() > 0) {
 				name = nameString;
+			}
 			String idString = memento.getString(IMemento.TAG_ID);
-			if (idString != null && idString.length() > 0)
+			if (idString != null && idString.length() > 0) {
 				id = idString;
-
+			}
 		}
 
 		MarkerFieldFilter[] filters = getFieldFilters();
 		for (int i = 0; i < filters.length; i++) {
-			if (filters[i] instanceof CompatibilityFieldFilter)
-				((CompatibilityFieldFilter) filters[i]).loadLegacySettings(
-						memento, generator);
+			if (filters[i] instanceof CompatibilityFieldFilter) {
+				((CompatibilityFieldFilter) filters[i]).loadLegacySettings(memento, generator);
+			}
 		}
-
 	}
 
 	/**
@@ -439,7 +439,6 @@
 	 *            the memento to load from
 	 */
 	void loadSettings(IMemento memento) {
-
 		String stringValue = memento.getString(TAG_ENABLED);
 		if (stringValue != null && stringValue.length() > 0){
 			enabled = Boolean.valueOf(stringValue).booleanValue();
@@ -448,50 +447,44 @@
 
 		String workingSetName = memento.getString(TAG_WORKING_SET);
 
-		if (workingSetName != null)
-			setWorkingSet(PlatformUI.getWorkbench().getWorkingSetManager()
-					.getWorkingSet(workingSetName));
+		if (workingSetName != null) {
+			setWorkingSet(PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSet(workingSetName));
+		}
 
 		stringValue = memento.getString(TAG_LIMIT);
 		if (stringValue != null && stringValue.length() > 0) {
 			setLimit(Integer.parseInt(stringValue));
 		}
 
-		Map filterMap = new HashMap();
+		Map<String, MarkerFieldFilter> filterMap = new HashMap<>();
 		MarkerFieldFilter[] filters = getFieldFilters();
 		for (int i = 0; i < filters.length; i++) {
-			filterMap.put(MarkerSupportInternalUtilities.getId(filters[i]
-					.getField()), filters[i]);
-
+			filterMap.put(MarkerSupportInternalUtilities.getId(filters[i].getField()), filters[i]);
 		}
 
 		IMemento[] children = memento.getChildren(TAG_FIELD_FILTER_ENTRY);
 		for (int i = 0; i < children.length; i++) {
 			IMemento childMemento = children[i];
-			String id = childMemento.getID();
-			if (filterMap.containsKey(id)) {
-				MarkerFieldFilter filter = (MarkerFieldFilter) filterMap
-						.get(id);
+			String filterId = childMemento.getID();
+			if (filterMap.containsKey(filterId)) {
+				MarkerFieldFilter filter = filterMap.get(filterId);
 				if (filter instanceof MarkerTypeFieldFilter) {
-					((MarkerTypeFieldFilter) filter)
-							.setContentGenerator(generator);
+					((MarkerTypeFieldFilter) filter).setContentGenerator(generator);
 				}
 				filter.loadSettings(childMemento);
 			}
-
 		}
 
 		if (element == null) {
-			String nameString = memento
-					.getString(MarkerSupportInternalUtilities.ATTRIBUTE_NAME);
-			if (nameString != null && nameString.length() > 0)
+			String nameString = memento	.getString(MarkerSupportInternalUtilities.ATTRIBUTE_NAME);
+			if (nameString != null && nameString.length() > 0) {
 				name = nameString;
+			}
 			String idString = memento.getString(IMemento.TAG_ID);
-			if (idString != null && idString.length() > 0)
+			if (idString != null && idString.length() > 0) {
 				id = idString;
-
+			}
 		}
-
 	}
 
 	/**
@@ -500,12 +493,11 @@
 	 * @return MarkerFieldFilterGroup or <code> null</code> if it failed.
 	 */
 	MarkerFieldFilterGroup makeWorkingCopy() {
-		MarkerFieldFilterGroup clone = new MarkerFieldFilterGroup(this.element,
-				this.generator);
-		if (populateClone(clone))
+		MarkerFieldFilterGroup clone = new MarkerFieldFilterGroup(this.element, this.generator);
+		if (populateClone(clone)) {
 			return clone;
+		}
 		return null;
-
 	}
 
 	/**
@@ -523,8 +515,7 @@
 		clone.id = id;
 		for (int i = 0; i < fieldFilters.length; i++) {
 			try {
-				clone.fieldFilters[i] = fieldFilters[i]
-						.getClass().newInstance();
+				clone.fieldFilters[i] = fieldFilters[i].getClass().newInstance();
 				fieldFilters[i].populateWorkingCopy(clone.fieldFilters[i]);
 			} catch (InstantiationException e) {
 				StatusManager.getManager().handle(
@@ -537,7 +528,6 @@
 								.getLocalizedMessage(), e), StatusManager.SHOW);
 				return false;
 			}
-
 		}
 		return true;
 	}
@@ -548,21 +538,19 @@
 	 * @return int
 	 */
 	private int processScope() {
-
-		if (element == null)
+		if (element == null) {
 			return ON_ANY;
-
+		}
 		String scopeValue = element.getAttribute(ATTRIBUTE_SCOPE);
-
-		if (ATTRIBUTE_ON_SELECTED_ONLY.equals(scopeValue))
+		if (ATTRIBUTE_ON_SELECTED_ONLY.equals(scopeValue)) {
 			return ON_SELECTED_ONLY;
-
-		if (ATTRIBUTE_ON_SELECTED_AND_CHILDREN.equals(scopeValue))
+		}
+		if (ATTRIBUTE_ON_SELECTED_AND_CHILDREN.equals(scopeValue)) {
 			return ON_SELECTED_AND_CHILDREN;
-
-		if (ATTRIBUTE_ON_ANY_IN_SAME_CONTAINER.equals(scopeValue))
+		}
+		if (ATTRIBUTE_ON_ANY_IN_SAME_CONTAINER.equals(scopeValue)) {
 			return ON_ANY_IN_SAME_CONTAINER;
-
+		}
 		return ON_ANY;
 	}
 
@@ -581,21 +569,16 @@
 		}
 
 		if (element == null) {
-			memento.putString(MarkerSupportInternalUtilities.ATTRIBUTE_NAME,
-					getName());
+			memento.putString(MarkerSupportInternalUtilities.ATTRIBUTE_NAME, getName());
 			memento.putString(IMemento.TAG_ID, getID());
 		}
 		MarkerFieldFilter[] filters = getFieldFilters();
 
 		for (int i = 0; i < filters.length; i++) {
-			IMemento child = memento
-					.createChild(TAG_FIELD_FILTER_ENTRY,
-							MarkerSupportInternalUtilities.getId(filters[i]
-									.getField()));
+			IMemento child = memento.createChild(TAG_FIELD_FILTER_ENTRY,
+					MarkerSupportInternalUtilities.getId(filters[i].getField()));
 			filters[i].saveSettings(child);
-
 		}
-
 	}
 
 	/**
@@ -611,29 +594,31 @@
 
 	/**
 	 * Return whether or not this MarkerEntry can be shown.
-	 * @param testEntry
+	 *
+	 * @param entry
 	 *
 	 * @return <code>true</code> if it can be shown
 	 */
-	public boolean select(MarkerEntry testEntry) {
+	public boolean select(MarkerEntry entry) {
 		MarkerFieldFilter[] filters = getFieldFilters();
 		if (scope == ON_WORKING_SET && workingSet != null) {
 			if (!workingSet.isAggregateWorkingSet()){
-					if(!isInWorkingSet(testEntry.getMarker().getResource())){
-						return false;
-					}
+				if (!isInWorkingSet(entry.getMarker().getResource())) {
+					return false;
+				}
 			}
 			//skip this for aggregates with no containing workingsets, ex. window working set
 			else if(((AggregateWorkingSet) workingSet).getComponents().length!=0){
-					if(!isInWorkingSet(testEntry.getMarker().getResource())){
-						return false;
-					}
+				if (!isInWorkingSet(entry.getMarker().getResource())) {
+					return false;
+				}
 			}
 		}
 
 		for (int i = 0; i < filters.length; i++) {
-			if (filters[i].select(testEntry))
+			if (filters[i].select(entry)) {
 				continue;
+			}
 			return false;
 		}
 		return true;
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerResourceUtil.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerResourceUtil.java
index f7f2aa3..d3be78d 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerResourceUtil.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerResourceUtil.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
+ * Copyright (c) 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -53,16 +53,16 @@
 	 * @return collection of resource we want to collect markers for, taking
 	 *         various enabled filters into account.
 	 */
-	static Set computeResources(IResource[] selectedResources,
-			Collection enabledFilters, boolean andFilters) {
+	static Set<IResource> computeResources(IResource[] selectedResources,
+			Collection<MarkerFieldFilterGroup> enabledFilters, boolean andFilters) {
 		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
 
 		if (enabledFilters==null||enabledFilters.size() == 0) {
-			HashSet set = new HashSet(1);
+			HashSet<IResource> set = new HashSet<>(1);
 			set.add(root);
 			return set;
 		}
-		Set resourceSet = andFilters ? getResourcesFiltersAnded(enabledFilters,
+		Set<IResource> resourceSet = andFilters ? getResourcesFiltersAnded(enabledFilters,
 				selectedResources, root) : getResourcesFiltersOred(
 				enabledFilters, selectedResources, root);
 
@@ -79,7 +79,7 @@
 	 * @param resourceSet
 	 * @return set
 	 */
-	static Set trim2ParentResources(IWorkspaceRoot root, Set resourceSet) {
+	static Set<IResource> trim2ParentResources(IWorkspaceRoot root, Set<IResource> resourceSet) {
 		if (resourceSet.isEmpty() || resourceSet.size() == 1) {
 			return resourceSet;
 		}
@@ -91,9 +91,9 @@
 		Object[] clones = resourceSet.toArray();
 		for (int i = 0; i < clones.length; i++) {
 			IResource resource = (IResource) clones[i];
-			Iterator iterator = resourceSet.iterator();
+			Iterator<IResource> iterator = resourceSet.iterator();
 			while (iterator.hasNext()) {
-				IResource resToRemove = (IResource) iterator.next();
+				IResource resToRemove = iterator.next();
 				if (resToRemove.equals(root)) {
 					resourceSet.clear();
 					resourceSet.add(root);
@@ -102,8 +102,7 @@
 				if (resource.equals(resToRemove)) {
 					continue;
 				}
-				if (resource.getFullPath()
-						.isPrefixOf(resToRemove.getFullPath())) {
+				if (resource.getFullPath().isPrefixOf(resToRemove.getFullPath())) {
 					iterator.remove();
 				}
 			}
@@ -121,22 +120,21 @@
 	 * @param root
 	 * @return set
 	 */
-	static Set getResourcesFiltersOred(Collection enabledFilters,
+	static Set<IResource> getResourcesFiltersOred(Collection<MarkerFieldFilterGroup> enabledFilters,
 			IResource[] selectedResources, IWorkspaceRoot root) {
 		if (enabledFilters==null||enabledFilters.size() == 0) {
-			HashSet set = new HashSet(1);
+			HashSet<IResource> set = new HashSet<>(1);
 			set.add(root);
 			return set;
 		}
-		Set resourceSet = new HashSet();
-		Iterator filtersIterator = enabledFilters.iterator();
+		Set<IResource> resourceSet = new HashSet<>();
+		Iterator<MarkerFieldFilterGroup> filtersIterator = enabledFilters.iterator();
 		while (filtersIterator.hasNext()) {
-			MarkerFieldFilterGroup group = (MarkerFieldFilterGroup) filtersIterator
-					.next();
-			Set set = getResourcesForFilter(group, selectedResources, root);
+			MarkerFieldFilterGroup group = filtersIterator.next();
+			Set<IResource> set = getResourcesForFilter(group, selectedResources, root);
 			resourceSet.addAll(set);
 			if (resourceSet.contains(root)) {
-				set = new HashSet(1);
+				set = new HashSet<>(1);
 				set.add(root);
 				return set;
 			}
@@ -164,40 +162,35 @@
 	 * @param root
 	 * @return set
 	 */
-	static Set getResourcesFiltersAnded(Collection enabledFilters,
+	static Set<IResource> getResourcesFiltersAnded(Collection<MarkerFieldFilterGroup> enabledFilters,
 			IResource[] selectedResources, IWorkspaceRoot root) {
 		if (enabledFilters==null||enabledFilters.size() == 0) {
-			HashSet set = new HashSet(1);
+			HashSet<IResource> set = new HashSet<>(1);
 			set.add(root);
 			return set;
 		}
-		Set resourceSet = new HashSet();
+		Set<IResource> resourceSet = new HashSet<>();
 
-		Iterator filtersIterator = enabledFilters.iterator();
-		Set removeMain = new HashSet();
+		Iterator<MarkerFieldFilterGroup> filtersIterator = enabledFilters.iterator();
+		Set<IResource> removeMain = new HashSet<>();
 		while (filtersIterator.hasNext()) {
-			MarkerFieldFilterGroup group = (MarkerFieldFilterGroup) filtersIterator
-					.next();
-			Set set = getResourcesForFilter(group, selectedResources, root);
+			MarkerFieldFilterGroup group = filtersIterator.next();
+			Set<IResource> set = getResourcesForFilter(group, selectedResources, root);
 			if (resourceSet.isEmpty()) {
 				// first time
 				resourceSet.addAll(set);
 			} else {
-				Iterator resIterator = resourceSet.iterator();
+				Iterator<IResource> resIterator = resourceSet.iterator();
 				while (resIterator.hasNext()) {
 					boolean remove = true;
-					IResource mainRes = (IResource) resIterator.next();
-					Iterator iterator = set.iterator();
+					IResource mainRes = resIterator.next();
+					Iterator<IResource> iterator = set.iterator();
 					while (iterator.hasNext() && remove) {
-						IResource grpRes = (IResource) iterator.next();
+						IResource grpRes = iterator.next();
 						remove = !grpRes.equals(mainRes);
-						if (remove
-								&& grpRes.getFullPath().isPrefixOf(
-										mainRes.getFullPath())) {
+						if (remove && grpRes.getFullPath().isPrefixOf(mainRes.getFullPath())) {
 							remove = false;
-						} else if (remove
-								&& mainRes.getFullPath().isPrefixOf(
-										grpRes.getFullPath())) {
+						} else if (remove && mainRes.getFullPath().isPrefixOf(grpRes.getFullPath())) {
 							remove = false;
 							removeMain.add(mainRes);
 						}
@@ -206,17 +199,15 @@
 						resIterator.remove();
 					}
 				}
-				Iterator iterator = set.iterator();
+				Iterator<IResource> iterator = set.iterator();
 				while (iterator.hasNext()) {
 					boolean remove = true;
-					IResource grpRes = (IResource) iterator.next();
+					IResource grpRes = iterator.next();
 					resIterator = resourceSet.iterator();
 					while (resIterator.hasNext()&&remove) {
-						IResource mainRes = (IResource) resIterator.next();
+						IResource mainRes = resIterator.next();
 						remove = !grpRes.equals(mainRes);
-						if (remove
-								&& mainRes.getFullPath().isPrefixOf(
-										grpRes.getFullPath())) {
+						if (remove && mainRes.getFullPath().isPrefixOf(grpRes.getFullPath())) {
 							remove = false;
 						}
 					}
@@ -244,9 +235,9 @@
 	 * @param selectedResources
 	 * @param root
 	 */
-	static Set getResourcesForFilter(MarkerFieldFilterGroup group,
+	static Set<IResource> getResourcesForFilter(MarkerFieldFilterGroup group,
 			IResource[] selectedResources, IWorkspaceRoot root) {
-		HashSet resourceSet = new HashSet();
+		HashSet<IResource> resourceSet = new HashSet<>();
 		switch (group.getScope()) {
 		case MarkerFieldFilterGroup.ON_ANY: {
 			resourceSet.add(root);
@@ -285,12 +276,13 @@
 	 * @return IProject[]
 	 */
 	static IProject[] getProjects(IResource[] resources) {
-		if (resources == null)
+		if (resources == null) {
 			return EMPTY_PROJECT_ARRAY;
+		}
 
-		Collection projects = getProjectsAsCollection(resources);
+		Collection<IProject> projects = getProjectsAsCollection(resources);
 
-		return (IProject[]) projects.toArray(new IProject[projects.size()]);
+		return projects.toArray(new IProject[projects.size()]);
 	}
 
 	/**
@@ -300,22 +292,18 @@
 	 *            collection of IResource or IResourceMapping
 	 * @return Collection of IProject
 	 */
-	static Collection getProjectsAsCollection(Object[] elements) {
-		HashSet projects = new HashSet();
-
+	static Collection<IProject> getProjectsAsCollection(Object[] elements) {
+		HashSet<IProject> projects = new HashSet<>();
 		for (int idx = 0; idx < elements.length; idx++) {
 			if (elements[idx] instanceof IResource) {
 				projects.add(((IResource) elements[idx]).getProject());
 			} else {
-				IProject[] mappingProjects = (((ResourceMapping) elements[idx])
-						.getProjects());
+				IProject[] mappingProjects = (((ResourceMapping) elements[idx]).getProjects());
 				for (int i = 0; i < mappingProjects.length; i++) {
 					projects.add(mappingProjects[i]);
 				}
 			}
-
 		}
-
 		return projects;
 	}
 
@@ -325,9 +313,7 @@
 	 * @param resourceCollection
 	 * @param resourceMapping
 	 */
-	static void addResources(Collection resourceCollection,
-			ResourceMapping resourceMapping) {
-
+	static void addResources(Collection<IResource> resourceCollection, ResourceMapping resourceMapping) {
 		try {
 			ResourceTraversal[] traversals = resourceMapping.getTraversals(
 					ResourceMappingContext.LOCAL_CONTEXT,
@@ -388,7 +374,7 @@
 	 * @param typeIds
 	 */
 	static String[] getAllSubTypesIds(String[] typeIds) {
-		HashSet set = getAllSubTypes(typeIds);
+		HashSet<MarkerType> set = getAllSubTypes(typeIds);
 		return toTypeStrings(set);
 	}
 
@@ -398,8 +384,8 @@
 	 *
 	 * @param typeIds
 	 */
-	static HashSet getAllSubTypes(String[] typeIds) {
-		HashSet set = new HashSet();
+	static HashSet<MarkerType> getAllSubTypes(String[] typeIds) {
+		HashSet<MarkerType> set = new HashSet<>();
 		MarkerTypesModel typesModel = MarkerTypesModel.getInstance();
 		for (int i = 0; i < typeIds.length; i++) {
 			MarkerType type = typesModel.getType(typeIds[i]);
@@ -419,7 +405,7 @@
 	 * @param typeIds
 	 */
 	static String[] getMutuallyExclusiveSupersIds(String[] typeIds) {
-		HashSet set = getMutuallyExclusiveSupers(typeIds);
+		HashSet<MarkerType> set = getMutuallyExclusiveSupers(typeIds);
 		return toTypeStrings(set);
 	}
 
@@ -429,8 +415,8 @@
 	 *
 	 * @param typeIds
 	 */
-	static HashSet getMutuallyExclusiveSupers(String[] typeIds) {
-		HashSet set = new HashSet();
+	static HashSet<MarkerType> getMutuallyExclusiveSupers(String[] typeIds) {
+		HashSet<MarkerType> set = new HashSet<>();
 		MarkerTypesModel typesModel = MarkerTypesModel.getInstance();
 		for (int i = 0; i < typeIds.length; i++) {
 			MarkerType type = typesModel.getType(typeIds[i]);
@@ -439,7 +425,7 @@
 		for (int i = 0; i < typeIds.length; i++) {
 			MarkerType type = typesModel.getType(typeIds[i]);
 			MarkerType[] subs = type.getAllSubTypes();
-			HashSet subsOnly = new HashSet(Arrays.asList(subs));
+			HashSet<MarkerType> subsOnly = new HashSet<>(Arrays.asList(subs));
 			subsOnly.remove(type);
 			set.removeAll(subsOnly);
 		}
@@ -452,13 +438,13 @@
 	 *
 	 * @param collection
 	 */
-	private static String[] toTypeStrings(Collection collection) {
-		HashSet ids = new HashSet();
-		Iterator iterator = collection.iterator();
+	private static String[] toTypeStrings(Collection<MarkerType> collection) {
+		HashSet<String> ids = new HashSet<>();
+		Iterator<MarkerType> iterator = collection.iterator();
 		while (iterator.hasNext()) {
-			MarkerType type = (MarkerType) iterator.next();
+			MarkerType type = iterator.next();
 			ids.add(type.getId());
 		}
-		return (String[]) ids.toArray(new String[ids.size()]);
+		return ids.toArray(new String[ids.size()]);
 	}
 }
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerShowInAdapter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerShowInAdapter.java
index c34dbf3..6c21d4f 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerShowInAdapter.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerShowInAdapter.java
@@ -44,14 +44,12 @@
 			@Override
 			public ShowInContext getShowInContext() {
 				IMarker[] markers = view.getSelectedMarkers();
-				Collection<IResource> resources = new HashSet<IResource>();
+				Collection<IResource> resources = new HashSet<>();
 				for (int i = 0; i < markers.length; i++) {
 					resources.add(markers[i].getResource());
 				}
-				return new ShowInContext(view.getViewerInput(),
-						new StructuredSelection(resources.toArray()));
+				return new ShowInContext(view.getViewerInput(), new StructuredSelection(resources.toArray()));
 			}
-
 		});
 
 	}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerSortUtil.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerSortUtil.java
index eedabd3..d9adf22 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerSortUtil.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerSortUtil.java
@@ -33,6 +33,7 @@
 
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.ui.views.markers.MarkerItem;
 
 /**
  * @since 3.5
@@ -75,8 +76,8 @@
 	 * @param last
 	 * @param comparator
 	 */
-	private static void partiallySort(MarkerEntry[] array, int first,
-			int middle, int last, Comparator comparator) {
+	private static void partiallySort(MarkerEntry[] array, int first, int middle, int last,
+			Comparator<MarkerItem> comparator) {
 		heapify(array, first, middle, comparator);
 
 		adjustMaxElement(array, first, middle, last, comparator);
@@ -93,8 +94,8 @@
 	 * @param last
 	 * @param comparator
 	 */
-	private static void adjustMaxElement(MarkerEntry[] heapArray, int first,
-			int heapSize, int last, Comparator comparator) {
+	private static void adjustMaxElement(MarkerEntry[] heapArray, int first, int heapSize, int last,
+			Comparator<MarkerItem> comparator) {
 		/*
 		 * we do not clear caches for heap elements when re-adjusting and
 		 * sorting this will ensure sorting remains fast
@@ -127,7 +128,8 @@
 	 * @param comparator
 	 */
 	private static void adjustHeap(MarkerEntry[] array, int first,
-			int position, int last, Comparator comparator) {
+ int position, int last,
+			Comparator<MarkerItem> comparator) {
 		MarkerEntry hole = array[position];
 		int holeIndex = position;
 		holeIndex = leafSearch(array, first, holeIndex, last, comparator);
@@ -147,7 +149,8 @@
 	 * @return new holeIndex
 	 */
 	private static int leafSearch(MarkerEntry[] array, int first, int position,
-			int last, Comparator comparator) {
+ int last,
+			Comparator<MarkerItem> comparator) {
 		int holeOffset = position - first;
 		int len = last - first;
 		int childOffset = 2 * holeOffset + 2;
@@ -181,7 +184,8 @@
 	 * @return new holeIndex
 	 */
 	private static int bottomUpSearch(MarkerEntry[] array, int first, int fromIndex,
-			int toIndex, MarkerEntry hole, int last, Comparator comparator) {
+ int toIndex, MarkerEntry hole,
+			int last, Comparator<MarkerItem> comparator) {
 		int holeOffset = fromIndex - first;
 		int parent = (holeOffset - 1) / 2;
 		int top = toIndex - first;
@@ -255,7 +259,7 @@
 	 * @param comparator
 	 */
 	private static void heapify(MarkerEntry[] array, int first, int last,
-			Comparator comparator) {
+ Comparator<MarkerItem> comparator) {
 		if (last - first < 2)
 			return;
 		int parent = (last - first - 2) / 2;
@@ -274,7 +278,7 @@
 	 *
 	 */
 	private static void heapToSortedArray(MarkerEntry[] array, int first,
-			int last, Comparator comparator) {
+ int last, Comparator<MarkerItem> comparator) {
 		//TODO:Use mergesort to convert the heap to sorted array?
 
 		while (last - first > 1) {
@@ -308,7 +312,8 @@
 	 * @param monitor
 	 */
 	public static void sortStartingKElement(MarkerEntry[] entries,
-			Comparator comparator, int from, int to, int k,IProgressMonitor monitor) {
+ Comparator<MarkerItem> comparator, int from, int to,
+			int k, IProgressMonitor monitor) {
 		// check range valid
 		int last = from + k-1;
 		if (entries.length == 0 || from < 0 || from >= to || last < from
@@ -366,7 +371,8 @@
 	 * @param limit
 	 */
 	public static void sortStartingKElement(MockMarkerEntry[] fArray1,
-			Comparator comparator, int from, int k, int limit) {
+ Comparator<MarkerItem> comparator, int from,
+			int k, int limit) {
 		sortStartingKElement(fArray1, comparator, from, k, limit,new NullProgressMonitor());
 	}
 	/**
@@ -384,7 +390,8 @@
 	 * @param monitor
 	 */
 	public static void sortStartingKElement(MarkerEntry[] entries,
-			Comparator comparator, int k,IProgressMonitor monitor) {
+ Comparator<MarkerItem> comparator, int k,
+			IProgressMonitor monitor) {
 		sortStartingKElement(entries, comparator, 0, entries.length - 1, k,monitor);
 	}
 
@@ -405,7 +412,8 @@
 	 * @param monitor
 	 */
 	public static void sortStartingKElement(MarkerEntry[] entries,
-			Comparator comparator, int from, int k, IProgressMonitor monitor) {
+ Comparator<MarkerItem> comparator, int from, int k,
+			IProgressMonitor monitor) {
 		sortStartingKElement(entries, comparator, from, entries.length - 1, k,monitor);
 	}
 
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerTypeFieldFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerTypeFieldFilter.java
index b16bf79..b792cc1 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerTypeFieldFilter.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerTypeFieldFilter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -38,27 +38,22 @@
 
 	private static final String TAG_TYPES_DELIMITER = ":"; //$NON-NLS-1$
 	private static final String TAG_SELECTED_TYPES = "selectedTypes"; //$NON-NLS-1$
-	Collection selectedTypes = new HashSet();
+	Collection<MarkerType> selectedTypes = new HashSet<>();
 	private MarkerContentGenerator contentGenerator;
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.internal.provisional.views.markers.api.MarkerFieldFilter#select(org.eclipse.ui.internal.provisional.views.markers.api.MarkerItem)
-	 */
+
 	@Override
 	public boolean select(MarkerItem item) {
-
 		IMarker marker = item.getMarker();
-		if (marker == null)// OK if all are selected
+		// OK if all are selected
+		if (marker == null) {
 			return contentGenerator.allTypesSelected(selectedTypes);
+		}
 		try {
-			return selectedTypes.contains(MarkerTypesModel.getInstance()
-					.getType(marker.getType()));
+			return selectedTypes.contains(MarkerTypesModel.getInstance().getType(marker.getType()));
 		} catch (CoreException e) {
 			return false;
 		}
-
 	}
 
 	/**
@@ -70,11 +65,9 @@
 	 * @param generator
 	 *            {@link MarkerContentGenerator}
 	 */
-	void setSelectedTypes(Collection markerTypes,
-			MarkerContentGenerator generator) {
+	void setSelectedTypes(Collection<MarkerType> markerTypes, MarkerContentGenerator generator) {
 		setContentGenerator(generator);
 		selectedTypes = markerTypes;
-
 	}
 
 	/**
@@ -82,47 +75,34 @@
 	 *
 	 * @return Collection of MarkerType
 	 */
-	Collection getSelectedTypes() {
+	Collection<MarkerType> getSelectedTypes() {
 		return selectedTypes;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.views.markers.MarkerFieldFilter#saveSettings(org.eclipse.ui.IMemento)
-	 */
 	@Override
 	public void saveSettings(IMemento memento) {
-
-		if (selectedTypes.containsAll(contentGenerator.getMarkerTypes()))
+		if (selectedTypes.containsAll(contentGenerator.getMarkerTypes())) {
 			return;
+		}
 
-		Iterator selected = selectedTypes.iterator();
-
+		Iterator<MarkerType> selected = selectedTypes.iterator();
 		StringBuffer settings = new StringBuffer();
 		while (selected.hasNext()) {
-			MarkerType markerType = (MarkerType) selected.next();
+			MarkerType markerType = selected.next();
 			settings.append(markerType.getId());
 			settings.append(TAG_TYPES_DELIMITER);
 		}
-
 		memento.putString(TAG_SELECTED_TYPES, settings.toString());
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.views.markers.MarkerFieldFilter#loadSettings(org.eclipse.ui.IMemento)
-	 */
 	@Override
 	public void loadSettings(IMemento memento) {
-
 		String types = memento.getString(TAG_SELECTED_TYPES);
-		if (types == null)
+		if (types == null) {
 			return;
+		}
 
 		selectedTypes.clear();
-
 		int start = 0;
 		int nextSpace = types.indexOf(TAG_TYPES_DELIMITER, 0);
 		while (nextSpace > 0) {
@@ -131,18 +111,14 @@
 			nextSpace = types.indexOf(TAG_TYPES_DELIMITER, start);
 
 			MarkerType type = contentGenerator.getType(typeId);
-			if (type != null)
+			if (type != null) {
 				selectedTypes.add(type);
+			}
 		}
-
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.views.markers.CompatibilityFieldFilter#loadLegacySettings(org.eclipse.ui.IMemento, org.eclipse.ui.internal.views.markers.MarkerContentGenerator)
-	 */
 	@Override
 	void loadLegacySettings(IMemento memento, MarkerContentGenerator generator) {
-
 		setContentGenerator(generator);
 		// new selection list attribute
 		// format is "id:(true|false):"
@@ -152,10 +128,8 @@
 			selectedTypes.clear();
 
 			// get the complete list of types
-			List newTypes = new ArrayList();
-
+			List<MarkerType> newTypes = new ArrayList<>();
 			StringTokenizer stringTokenizer = new StringTokenizer(setting);
-
 			while (stringTokenizer.hasMoreTokens()) {
 				String id = stringTokenizer.nextToken(TAG_TYPES_DELIMITER);
 				String status = null;
@@ -165,32 +139,21 @@
 
 				MarkerType type = contentGenerator.getType(id);
 				if (type != null) {
-
 					newTypes.remove(type);
 
 					// add the type to the selected list
-					if (!MarkerFilter.SELECTED_FALSE.equals(status)
-							&& !selectedTypes.contains(type)) {
+					if (!MarkerFilter.SELECTED_FALSE.equals(status) && !selectedTypes.contains(type)) {
 						selectedTypes.add(type);
 					}
 				}
 			}
 		}
-
-
-
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.internal.views.markers.CompatibilityFieldFilter#initialize(org.eclipse.ui.views.markers.internal.ProblemFilter)
-	 */
 	@Override
 	public void initialize(ProblemFilter problemFilter) {
 		selectedTypes.clear();
 		selectedTypes.addAll(problemFilter.getSelectedTypes());
-
 	}
 
 	/**
@@ -200,23 +163,15 @@
 	 */
 	void setContentGenerator(MarkerContentGenerator generator) {
 		contentGenerator = generator;
-
 		// Set the initial selection to be everything
-		selectedTypes = new HashSet();
+		selectedTypes = new HashSet<>();
 		selectedTypes.addAll(generator.getMarkerTypes());
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.views.markers.MarkerFieldFilter#populateWorkingCopy(org.eclipse.ui.views.markers.MarkerFieldFilter)
-	 */
 	@Override
 	public void populateWorkingCopy(MarkerFieldFilter copy) {
 		super.populateWorkingCopy(copy);
-
-		((MarkerTypeFieldFilter) copy).selectedTypes = new HashSet(
-				selectedTypes);
+		((MarkerTypeFieldFilter) copy).selectedTypes = new HashSet<>(selectedTypes);
 		((MarkerTypeFieldFilter) copy).contentGenerator = contentGenerator;
 	}
 }
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerUpdateJob.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerUpdateJob.java
index 5cf4bbf..57e9207 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerUpdateJob.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerUpdateJob.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
+ * Copyright (c) 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -35,7 +35,7 @@
 
 	CachedMarkerBuilder builder;
 	private boolean clean;
-	private long lastUpdateTime=-1;
+	private long lastUpdateTime = -1;
 
 	/**
 	 * @param builder
@@ -45,16 +45,9 @@
 		this.builder = builder;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @seeorg.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.
-	 * IProgressMonitor)
-	 */
 	@Override
 	protected IStatus run(IProgressMonitor monitor) {
-		monitor.beginTask(MarkerMessages.MarkerView_searching_for_markers,
-				IProgressMonitor.UNKNOWN);
+		monitor.beginTask(MarkerMessages.MarkerView_searching_for_markers, IProgressMonitor.UNKNOWN);
 		buildMarkers(monitor);
 		return Status.OK_STATUS;
 	}
@@ -73,7 +66,7 @@
 		// builder.getUpdateScheduler().indicateStatus(
 		// MarkerMessages.MarkerView_searching_for_markers, false);
 
-		Collection markerEntries = new LinkedList();
+		Collection<MarkerEntry> markerEntries = new LinkedList<>();
 		//this is not incremental clean every time
 		clean = !clean(markerEntries, monitor);
 		if (monitor.isCanceled()) {
@@ -89,8 +82,7 @@
 		if (monitor.isCanceled()) {
 			return;
 		}
-		builder.getUpdateScheduler().scheduleUIUpdate(
-				MarkerUpdateScheduler.SHORT_DELAY);
+		builder.getUpdateScheduler().scheduleUIUpdate(MarkerUpdateScheduler.SHORT_DELAY);
 		if (monitor.isCanceled()) {
 			return;
 		}
@@ -109,7 +101,7 @@
 	 * Collect the markers starting clean, all over again.
 	 * @param markerEntries
 	 */
-	boolean clean(Collection markerEntries, IProgressMonitor monitor) {
+	boolean clean(Collection<MarkerEntry> markerEntries, IProgressMonitor monitor) {
 		MarkerContentGenerator generator = builder.getGenerator();
 		if (monitor.isCanceled() || generator == null) {
 			return false;
@@ -125,8 +117,7 @@
 	 * @param markerEntries
 	 *            the collection of new MarkerEntry(s)
 	 */
-	boolean processMarkerEntries(Collection markerEntries,
-			IProgressMonitor monitor) {
+	boolean processMarkerEntries(Collection<MarkerEntry> markerEntries, IProgressMonitor monitor) {
 		Markers markers = builder.getMarkers();
 		if (monitor.isCanceled()) {
 			return false;
@@ -134,26 +125,15 @@
 		return markers.updateWithNewMarkers(markerEntries, true, monitor);
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.core.runtime.jobs.Job#shouldRun()
-	 */
 	@Override
 	public boolean shouldRun() {
 		if (!PlatformUI.isWorkbenchRunning()) {
 			return false;
 		}
 		// Do not run if the change came in before there is a viewer
-		return (IDEWorkbenchPlugin.getDefault().getBundle().getState() == Bundle.ACTIVE)
-				&& builder.isActive();
+		return (IDEWorkbenchPlugin.getDefault().getBundle().getState() == Bundle.ACTIVE) && builder.isActive();
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.core.runtime.jobs.Job#belongsTo(java.lang.Object)
-	 */
 	@Override
 	public boolean belongsTo(Object family) {
 		if (family.equals(builder.CACHE_UPDATE_FAMILY)) {
@@ -200,17 +180,9 @@
 		this.builder = builder;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see
-	 * org.eclipse.ui.internal.views.markers.MarkerUpdateJob#run(org.eclipse
-	 * .core.runtime.IProgressMonitor)
-	 */
 	@Override
 	protected IStatus run(IProgressMonitor monitor) {
-		monitor.beginTask(MarkerMessages.MarkerView_19,
-				IProgressMonitor.UNKNOWN);
+		monitor.beginTask(MarkerMessages.MarkerView_19, IProgressMonitor.UNKNOWN);
 		builder.getUpdateScheduler().cancelQueuedUIUpdates();
 		// builder.getUpdateScheduler().indicateStatus(
 		// MarkerMessages.MarkerView_19, false);
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/Markers.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/Markers.java
index c1a8890..964c576 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/Markers.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/Markers.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2011 IBM Corporation and others.
+ * Copyright (c) 2009, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -13,6 +13,7 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -47,11 +48,11 @@
 
 	private CachedMarkerBuilder builder;
 
-	private boolean inChange = false;
+	private boolean inChange;
 
 	// markerToEntryMap is a lazily created map from the markers to thier
 	// corresponding entry
-	private Map markerToEntryMap = null;
+	private Map<IMarker, MarkerEntry> markerToEntryMap;
 	private Integer[] markerCounts;
 
 	Markers(CachedMarkerBuilder builder) {
@@ -68,7 +69,7 @@
 	 *            true sort and group them
 	 * @param monitor
 	 */
-	synchronized boolean updateWithNewMarkers(Collection markerEntries,
+	synchronized boolean updateWithNewMarkers(Collection<MarkerEntry> markerEntries,
 			boolean sortAndGroup, IProgressMonitor monitor) {
 		boolean initialVal = inChange;
 		try {
@@ -117,8 +118,7 @@
 			inChange = true;
 			// Sort by Category first
 			if (builder.isShowingHierarchy()) {
-				MarkerCategory[] markerCategories = groupIntoCategories(
-						monitor, markerEntryArray);
+				MarkerCategory[] markerCategories = groupIntoCategories(monitor, markerEntryArray);
 				categories = markerCategories;
 			} else {
 				categories = EMPTY_CATEGORY_ARRAY;
@@ -146,8 +146,7 @@
 		try {
 			inChange = true;
 			if (builder.isShowingHierarchy()) {
-				Comparator comparator = builder.getComparator()
-						.getFieldsComparator();
+				Comparator<MarkerItem> comparator = builder.getComparator().getFieldsComparator();
 				for (int i = 0; i < categories.length; i++) {
 					if (monitor.isCanceled()) {
 						return false;
@@ -186,10 +185,10 @@
 	 * @param available
 	 */
 	private int getShowingLimit(int available) {
-
 		boolean limitsEnabled = builder.getGenerator().isMarkerLimitsEnabled();
-		if(!limitsEnabled)
+		if(!limitsEnabled) {
 			return available;
+		}
 
 		int limit = builder.getGenerator().getMarkerLimits();
 		int effLimit = limit;
@@ -206,19 +205,17 @@
 	 * @param newMarkers
 	 * @return MarkerCategory
 	 */
-	MarkerCategory[] groupIntoCategories(IProgressMonitor monitor,
-			MarkerEntry[] newMarkers) {
-		Map boundaryInfoMap = groupMarkerEntries(newMarkers,
+	MarkerCategory[] groupIntoCategories(IProgressMonitor monitor, MarkerEntry[] newMarkers) {
+		Map<MarkerGroupingEntry, Integer> boundaryInfoMap = groupMarkerEntries(newMarkers,
 				builder.getCategoryGroup(), newMarkers.length - 1, monitor);
-		Iterator iterator = boundaryInfoMap.keySet().iterator();
+		Iterator<MarkerGroupingEntry> iterator = boundaryInfoMap.keySet().iterator();
 		int start = 0;
-		MarkerCategory[] markerCategories = new MarkerCategory[boundaryInfoMap
-				.size()];
+		MarkerCategory[] markerCategories = new MarkerCategory[boundaryInfoMap.size()];
 		int i = 0;
 		int end = 0;
 		while (iterator.hasNext()) {
-			Object key = iterator.next();
-			end = ((Integer) boundaryInfoMap.get(key)).intValue();
+			MarkerGroupingEntry key = iterator.next();
+			end = boundaryInfoMap.get(key).intValue();
 			markerCategories[i++] = new MarkerCategory(this, start, end,
 					builder.getCategoryGroup().getMarkerField()
 							.getValue(newMarkers[start]));
@@ -239,24 +236,23 @@
 	 * @return {@link Map}
 	 *
 	 */
-	private Map groupMarkerEntries(MarkerEntry[] entries, MarkerGroup group,
+	private Map<MarkerGroupingEntry, Integer> groupMarkerEntries(MarkerEntry[] entries, MarkerGroup group,
 			int k, IProgressMonitor monitor) {
-		TreeMap map = new TreeMap(group.getEntriesComparator());
+		TreeMap<MarkerGroupingEntry, List<MarkerEntry>> map = new TreeMap<MarkerGroupingEntry, List<MarkerEntry>>(
+				group.getEntriesComparator());
 		for (int i = 0; i <= k; i++) {
 			IMarker marker = entries[i].getMarker();
 			if (marker == null) {
 				continue;// skip stale markers
 			}
 			if (monitor.isCanceled()) {
-				map.clear();
-				return map;
+				return Collections.emptyMap();
 			}
 			try {
-				MarkerGroupingEntry groupingEntry = group.findGroupValue(
-						marker.getType(), marker);
-				List list = (List) map.get(groupingEntry);
+				MarkerGroupingEntry groupingEntry = group.findGroupValue(marker.getType(), marker);
+				List<MarkerEntry> list = map.get(groupingEntry);
 				if (list == null) {
-					list = new ArrayList();
+					list = new ArrayList<>();
 					map.put(groupingEntry, list);
 				}
 				list.add(entries[i]);
@@ -264,23 +260,24 @@
 				entries[i].checkIfMarkerStale();
 			}
 		}
-		Iterator keys = map.keySet().iterator();
+		TreeMap<MarkerGroupingEntry, Integer> result = new TreeMap<MarkerGroupingEntry, Integer>(
+				group.getEntriesComparator());
+		Iterator<MarkerGroupingEntry> keys = map.keySet().iterator();
 		int i = 0;
 		while (keys.hasNext()) {
 			if (monitor.isCanceled()) {
-				map.clear();
-				return map;
+				return Collections.emptyMap();
 			}
-			Object key = keys.next();
-			List list = (List) map.get(key);
-			Iterator iterator = list.iterator();
+			MarkerGroupingEntry key = keys.next();
+			List<MarkerEntry> list = map.get(key);
+			Iterator<MarkerEntry> iterator = list.iterator();
 			while (iterator.hasNext()) {
-				MarkerEntry entry = (MarkerEntry) iterator.next();
+				MarkerEntry entry = iterator.next();
 				entries[i++] = entry;
 			}
-			map.put(key, new Integer(i - 1));
+			result.put(key, new Integer(i - 1));
 		}
-		return map;
+		return result;
 	}
 
 	/**
@@ -293,7 +290,6 @@
 	Integer[] getMarkerCounts() {
 		if (markerCounts == null) {
 			markerCounts = getMarkerCounts(markerEntryArray);
-
 		}
 		return markerCounts;
 	}
@@ -326,9 +322,7 @@
 				ints[3]++;
 			}
 		}
-
-		return new Integer[] { new Integer(ints[2]), new Integer(ints[1]),
-				new Integer(ints[0]), new Integer(ints[3]) };
+		return new Integer[] { new Integer(ints[2]), new Integer(ints[1]), new Integer(ints[0]), new Integer(ints[3]) };
 	}
 
 	/**
@@ -339,17 +333,17 @@
 	 */
 	public MarkerItem getMarkerItem(IMarker marker) {
 		if (markerToEntryMap == null) {
-			markerToEntryMap = new HashMap();
+			markerToEntryMap = new HashMap<>();
 			for (int i = 0; i < markerEntryArray.length; i++) {
 				IMarker nextMarker = markerEntryArray[i].getMarker();
-				if (nextMarker != null)
+				if (nextMarker != null) {
 					markerToEntryMap.put(nextMarker, markerEntryArray[i]);
+				}
 			}
 		}
-
-		if (markerToEntryMap.containsKey(marker))
-			return (MarkerItem) markerToEntryMap.get(marker);
-
+		if (markerToEntryMap.containsKey(marker)) {
+			return markerToEntryMap.get(marker);
+		}
 		return null;
 	}
 
@@ -403,11 +397,6 @@
 		return inChange;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see java.lang.Object#hashCode()
-	 */
 	@Override
 	public int hashCode() {
 		final int prime = 31;
@@ -416,19 +405,11 @@
 		return result;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
 	@Override
 	public boolean equals(Object obj) {
 		if (this == obj) {
 			return true;
 		}
-		if (obj == null) {
-			return false;
-		}
 		if (!(obj instanceof Markers)) {
 			return false;
 		}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkersChangeListener.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkersChangeListener.java
index 5da726f..62961f0 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkersChangeListener.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkersChangeListener.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
+ * Copyright (c) 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -81,7 +81,7 @@
 	 *
 	 */
 	boolean workspaceBuilding() {
-			return preBuildTime > 0;
+		return preBuildTime > 0;
 	}
 
 	/**
@@ -107,13 +107,6 @@
 		}
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see
-	 * org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org
-	 * .eclipse.core.resources.IResourceChangeEvent)
-	 */
 	@Override
 	public synchronized void resourceChanged(IResourceChangeEvent event) {
 		/* We can now consider removing synchronized for
@@ -197,7 +190,7 @@
 		if (markerDeltas.length == 0) {
 			return;
 		}
-		Collection removed = new LinkedList(), added = new LinkedList(), changed = new LinkedList();
+		Collection<MarkerEntry> removed = new LinkedList<MarkerEntry>(), added = new LinkedList<MarkerEntry>(), changed = new LinkedList<>();
 		String[] types = listeningTypes;
 		for (int i = 0; i < markerDeltas.length; i++) {
 			try {
@@ -458,11 +451,11 @@
  * @since 3.6
  */
 class MarkerUpdate {
-	Collection added;
-	Collection removed;
-	Collection changed;
+	Collection<MarkerEntry> added;
+	Collection<MarkerEntry> removed;
+	Collection<MarkerEntry> changed;
 
-	MarkerUpdate(Collection added, Collection removed, Collection changed) {
+	MarkerUpdate(Collection<MarkerEntry> added, Collection<MarkerEntry> removed, Collection<MarkerEntry> changed) {
 		this.added = added;
 		this.removed = removed;
 		this.changed = changed;
@@ -499,8 +492,7 @@
 	 * @param view
 	 * @param builder
 	 */
-	public MarkerUpdateScheduler(ExtendedMarkersView view,
-			CachedMarkerBuilder builder) {
+	public MarkerUpdateScheduler(ExtendedMarkersView view, CachedMarkerBuilder builder) {
 		this.view = view;
 		this.builder = builder;
 		schedulingLock = new Object();
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkersPropertyPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkersPropertyPage.java
index e33af2a..58330d2 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkersPropertyPage.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkersPropertyPage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2013 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -76,8 +76,9 @@
 			resource = ResourcesPlugin.getWorkspace().getRoot();
 		}
 
-		if (!Util.isEditable(marker))
+		if (!Util.isEditable(marker)) {
 			noDefaultAndApplyButton();
+		}
 
 		Composite composite = new Composite(parent, SWT.NULL);
 		GridLayout layout = new GridLayout(2, false);
@@ -100,7 +101,6 @@
 		}
 
 		Dialog.applyDialogFont(composite);
-
 		return composite;
 	}
 
@@ -122,7 +122,6 @@
 	private void createCreationTimeArea(Composite parent) {
 		Label label = new Label(parent, SWT.NONE);
 		label.setText(MarkerMessages.propertiesDialog_creationTime_text);
-
 		Text creationTime = new Text(parent, SWT.SINGLE | SWT.READ_ONLY);
 		creationTime.setText(Util.getCreationTime(marker));
 	}
@@ -144,7 +143,6 @@
 		descriptionText.setText(Util.getProperty(IMarker.MESSAGE, marker));
 		descriptionText.selectAll();
 		descriptionText.setEditable(Util.isEditable(marker));
-
 	}
 
 	/**
@@ -156,11 +154,13 @@
 	 */
 	protected void createAttributesArea(Composite parent) {
 		try {
-			if (marker.isSubtypeOf(IMarker.PROBLEM))
+			if (marker.isSubtypeOf(IMarker.PROBLEM)) {
 				createProblemAttributes(parent);
+			}
 
-			if (marker.isSubtypeOf(IMarker.TASK))
+			if (marker.isSubtypeOf(IMarker.TASK)) {
 				createTaskAttributes(parent);
+			}
 		} catch (CoreException e) {
 			Policy.handle(e);
 		}
@@ -190,8 +190,7 @@
 				MarkerMessages.propertiesDialog_priorityNormal,
 				MarkerMessages.propertiesDialog_priorityHigh });
 
-		priorityCombo.select(marker.getAttribute(IMarker.PRIORITY,
-				IMarker.PRIORITY_NORMAL));
+		priorityCombo.select(marker.getAttribute(IMarker.PRIORITY, IMarker.PRIORITY_NORMAL));
 		priorityCombo.setEnabled(Util.isEditable(marker));
 
 		completedCheckbox = new Button(composite, SWT.CHECK);
@@ -211,7 +210,6 @@
 		} catch (CoreException e) {
 			Policy.handle(e);
 		}
-
 	}
 
 	/**
@@ -222,8 +220,7 @@
 	private void createProblemAttributes(Composite parent) {
 		createSeperator(parent);
 
-		new Label(parent, SWT.NONE)
-				.setText(MarkerMessages.propertiesDialog_severityLabel);
+		new Label(parent, SWT.NONE).setText(MarkerMessages.propertiesDialog_severityLabel);
 
 		Composite composite = new Composite(parent, SWT.NONE);
 		GridLayout layout = new GridLayout();
@@ -234,8 +231,7 @@
 
 		Label severityImage = new Label(composite, SWT.NONE);
 
-		severityImage.setImage(Util.getImage(marker.getAttribute(
-				IMarker.SEVERITY, -1)));
+		severityImage.setImage(Util.getImage(marker.getAttribute(IMarker.SEVERITY, -1)));
 
 		Text severityLabel = new Text(composite, SWT.SINGLE | SWT.READ_ONLY);
 		int severity = marker.getAttribute(IMarker.SEVERITY, -1);
@@ -246,10 +242,8 @@
 		} else if (severity == IMarker.SEVERITY_INFO) {
 			severityLabel.setText(MarkerMessages.propertiesDialog_infoLabel);
 		} else {
-			severityLabel
-					.setText(MarkerMessages.propertiesDialog_noseverityLabel);
+			severityLabel.setText(MarkerMessages.propertiesDialog_noseverityLabel);
 		}
-
 	}
 
 	/**
@@ -258,24 +252,21 @@
 	private void createResourceArea(Composite parent) {
 		Label resourceLabel = new Label(parent, SWT.NONE);
 		resourceLabel.setText(MarkerMessages.propertiesDialog_resource_text);
-		Text resourceText = new Text(parent, SWT.SINGLE | SWT.WRAP
-				| SWT.READ_ONLY | SWT.BORDER);
+		Text resourceText = new Text(parent, SWT.SINGLE | SWT.WRAP | SWT.READ_ONLY | SWT.BORDER);
 		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
 		resourceText.setLayoutData(gridData);
 		resourceText.setText(Util.getResourceName(marker));
 
 		Label folderLabel = new Label(parent, SWT.NONE);
 		folderLabel.setText(MarkerMessages.propertiesDialog_folder_text);
-		Text folderText = new Text(parent, SWT.SINGLE | SWT.WRAP
-				| SWT.READ_ONLY | SWT.BORDER);
+		Text folderText = new Text(parent, SWT.SINGLE | SWT.WRAP | SWT.READ_ONLY | SWT.BORDER);
 		gridData = new GridData(GridData.FILL_HORIZONTAL);
 		folderText.setLayoutData(gridData);
 		folderText.setText(Util.getContainerName(marker));
 
 		Label locationLabel = new Label(parent, SWT.NONE);
 		locationLabel.setText(MarkerMessages.propertiesDialog_location_text);
-		Text locationText = new Text(parent, SWT.SINGLE | SWT.WRAP
-				| SWT.READ_ONLY | SWT.BORDER);
+		Text locationText = new Text(parent, SWT.SINGLE | SWT.WRAP | SWT.READ_ONLY | SWT.BORDER);
 		gridData = new GridData(GridData.FILL_HORIZONTAL);
 		locationText.setLayoutData(gridData);
 
@@ -288,15 +279,10 @@
 				locationText.setText(location);
 			}
 		} else {
-			locationText.setText(NLS
-					.bind(MarkerMessages.label_lineNumber, line));
+			locationText.setText(NLS.bind(MarkerMessages.label_lineNumber, line));
 		}
-
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performOk()
-	 */
 	@Override
 	public boolean performOk() {
 		if (marker == null || Util.isEditable(marker)) {
@@ -310,11 +296,11 @@
 	 * needed. Updates the existing marker only if there have been changes.
 	 */
 	private void saveChanges() {
-		Map attrs;
+		Map<String, Object> attrs;
 		try {
 			attrs = marker.getAttributes();
 		} catch (CoreException e) {
-			attrs = new HashMap();
+			attrs = new HashMap<>();
 			Policy.handle(e);
 		}
 
@@ -325,20 +311,18 @@
 			int priority = IMarker.PRIORITY_NORMAL;
 
 			int index = priorityCombo.getSelectionIndex();
-			if (index == priorityCombo
-					.indexOf(MarkerMessages.propertiesDialog_priorityHigh))
+			if (index == priorityCombo.indexOf(MarkerMessages.propertiesDialog_priorityHigh)) {
 				priority = IMarker.PRIORITY_HIGH;
-			else if (index == priorityCombo
-					.indexOf(MarkerMessages.propertiesDialog_priorityLow))
+			} else if (index == priorityCombo.indexOf(MarkerMessages.propertiesDialog_priorityLow)) {
 				priority = IMarker.PRIORITY_LOW;
+			}
 
 			attrs.put(IMarker.PRIORITY, new Integer(priority));
 		}
 
-		if (completedCheckbox != null)
-			attrs.put(IMarker.DONE,
-					completedCheckbox.getSelection() ? Boolean.TRUE
-							: Boolean.FALSE);
+		if (completedCheckbox != null) {
+			attrs.put(IMarker.DONE, completedCheckbox.getSelection() ? Boolean.TRUE : Boolean.FALSE);
+		}
 
 		IUndoableOperation op = new UpdateMarkersOperation(marker, attrs, NLS
 				.bind(MarkerMessages.qualifiedMarkerCommand_title,
@@ -355,10 +339,11 @@
 				StatusManager.getManager().handle(
 						((CoreException) e.getCause()).getStatus(),
 						StatusManager.SHOW);
-			} else
+			} else {
 				StatusManager.getManager().handle(
 						StatusUtil.newStatus(IStatus.ERROR, e
 								.getLocalizedMessage(), e));
+			}
 		}
 
 	}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkersViewColumnsDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkersViewColumnsDialog.java
index ed47f4e..c6e3503 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkersViewColumnsDialog.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkersViewColumnsDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2011 IBM Corporation and others.
+ * Copyright (c) 2008, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -22,6 +22,7 @@
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.internal.views.markers.MarkersViewColumnsDialog.FieldEntry;
 import org.eclipse.ui.views.markers.MarkerField;
 
 /**
@@ -32,7 +33,7 @@
  * @author Hitesh Soliwal
  *
  */
-public class MarkersViewColumnsDialog extends ViewerColumnsDialog {
+public class MarkersViewColumnsDialog extends ViewerColumnsDialog<FieldEntry> {
 
 	private ExtendedMarkersView extendedView;
 
@@ -48,129 +49,86 @@
 		initialize(false);
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see
-	 * org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets
-	 * .Shell)
-	 */
 	@Override
 	protected void configureShell(Shell newShell) {
 		super.configureShell(newShell);
-		newShell.setText(JFaceResources
-				.getString("ConfigureColumnsDialog_Title")); //$NON-NLS-1$
+		newShell.setText(JFaceResources.getString("ConfigureColumnsDialog_Title")); //$NON-NLS-1$
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.jface.window.Window#getShellStyle()
-	 */
 	@Override
 	protected int getShellStyle() {
 		return super.getShellStyle() | SWT.RESIZE;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see
-	 * org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets
-	 * .Composite)
-	 */
 	@Override
 	protected Control createDialogArea(Composite parent) {
 		Control control = super.createDialogArea(parent);
 		return control;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
 	@Override
 	protected void okPressed() {
 		extendedView.setVisibleFields(getVisibleFields(), getNewWidths());
 		super.okPressed();
 	}
 
-	/**
-	 */
 	private int[] getNewWidths() {
-		List visible = getVisible();
+		List<FieldEntry> visible = getVisible();
 		int[] widths = new int[visible.size()];
 		int i = 0;
-		Iterator iterator = visible.iterator();
+		Iterator<FieldEntry> iterator = visible.iterator();
 		while (iterator.hasNext()) {
-			widths[i] = ((FieldEntry) iterator.next()).width;
+			widths[i] = iterator.next().width;
 			i++;
 		}
 		return widths;
 	}
 
-	private Collection getVisibleFields() {
-		List visible = getVisible();
-		List list = new ArrayList(visible.size());
-		Iterator iterator = visible.iterator();
+	private Collection<MarkerField> getVisibleFields() {
+		List<FieldEntry> visible = getVisible();
+		ArrayList<MarkerField> list = new ArrayList<>(visible.size());
+		Iterator<FieldEntry> iterator = visible.iterator();
 		while (iterator.hasNext()) {
-			list.add(((FieldEntry) iterator.next()).field);
+			list.add(iterator.next().field);
 		}
 		return list;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.preferences.ViewSettingsDialog#performDefaults()
-	 */
 	@Override
 	protected void performDefaults() {
 		initialize(true);
 		super.performDefaults();
 	}
 
-	/**
-	 */
 	void initialize(boolean defaultWidths) {
-		MarkerField[] allFields = extendedView.getBuilder().getGenerator()
-				.getAllFields();
+		MarkerField[] allFields = extendedView.getBuilder().getGenerator().getAllFields();
 		MarkerField[] visibleFields = null;
 		if (defaultWidths) {
-			visibleFields = extendedView.getBuilder().getGenerator()
-					.getInitialVisible();
+			visibleFields = extendedView.getBuilder().getGenerator().getInitialVisible();
 		} else {
-			visibleFields = extendedView.getBuilder().getGenerator()
-					.getVisibleFields();
+			visibleFields = extendedView.getBuilder().getGenerator().getVisibleFields();
 		}
-		List visible = getVisible();
-		List nonVisible = getNonVisible();
+		List<FieldEntry> visible = getVisible();
+		List<FieldEntry> nonVisible = getNonVisible();
 		visible.clear();
 		nonVisible.clear();
 		FieldEntry entry = null;
 		for (int i = 0; i < allFields.length; i++) {
 			if (!contains(visibleFields, allFields[i])) {
 				entry = new FieldEntry(allFields[i], -1);
-				entry.width = extendedView.getFieldWidth(entry.field,
-						defaultWidths ? 0 : -1, !defaultWidths);
+				entry.width = extendedView.getFieldWidth(entry.field, defaultWidths ? 0 : -1, !defaultWidths);
 				entry.visible = false;
 				nonVisible.add(entry);
 			}
 		}
 		for (int i = 0; i < visibleFields.length; i++) {
 			entry = new FieldEntry(visibleFields[i], -1);
-			entry.width = extendedView.getFieldWidth(entry.field,
-					defaultWidths ? 0 : -1, !defaultWidths);
+			entry.width = extendedView.getFieldWidth(entry.field, defaultWidths ? 0 : -1, !defaultWidths);
 			entry.visible = true;
 			visible.add(entry);
 		}
 	}
 
-	/**
-	 * @param visibleFields
-	 * @param field
-	 */
 	private boolean contains(MarkerField[] visibleFields, MarkerField field) {
 		for (int i = 0; i < visibleFields.length; i++) {
 			if (visibleFields[i].equals(field)) {
@@ -180,13 +138,6 @@
 		return false;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see
-	 * org.eclipse.ui.internal.views.markers.ViewerColumnsDialog#getLabelProvider
-	 * ()
-	 */
 	@Override
 	protected ITableLabelProvider getLabelProvider() {
 		return new TableLabelProvider() {
@@ -197,82 +148,68 @@
 		};
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.internal.views.markers.ViewerColumnsDialog#
-	 * getColumnInfoProvider()
-	 */
 	@Override
-	protected IColumnInfoProvider getColumnInfoProvider() {
+	protected IColumnInfoProvider<FieldEntry> getColumnInfoProvider() {
 
-		return new IColumnInfoProvider() {
+		return new IColumnInfoProvider<FieldEntry>() {
 			@Override
-			public int getColumnIndex(Object columnObj) {
+			public int getColumnIndex(FieldEntry columnObj) {
 				return getVisible().indexOf(columnObj);
 			}
 
 			@Override
-			public int getColumnWidth(Object columnObj) {
-				FieldEntry field = (FieldEntry) columnObj;
+			public int getColumnWidth(FieldEntry columnObj) {
+				FieldEntry field = columnObj;
 				if (field.width <= 0) {
-					field.width = extendedView.getFieldWidth(field.field,
-							field.width, false);
+					field.width = extendedView.getFieldWidth(field.field, field.width, false);
 				}
 				return field.width;
 			}
 
 			@Override
-			public boolean isColumnVisible(Object columnObj) {
-				return ((FieldEntry) columnObj).visible;
+			public boolean isColumnVisible(FieldEntry columnObj) {
+				return columnObj.visible;
 			}
 
 			@Override
-			public boolean isColumnMovable(Object columnObj) {
+			public boolean isColumnMovable(FieldEntry columnObj) {
 				return true;
 			}
 
 			@Override
-			public boolean isColumnResizable(Object columnObj) {
+			public boolean isColumnResizable(FieldEntry columnObj) {
 				return true;
 			}
 		};
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see
-	 * org.eclipse.ui.internal.views.markers.ViewerColumnsDialog#getColumnUpdater
-	 * ()
-	 */
 	@Override
-	protected IColumnUpdater getColumnUpdater() {
+	protected IColumnUpdater<FieldEntry> getColumnUpdater() {
 
-		return new IColumnUpdater() {
+		return new IColumnUpdater<FieldEntry>() {
 			@Override
-			public void setColumnVisible(Object columnObj, boolean visible) {
-				((FieldEntry) columnObj).visible = visible;
+			public void setColumnVisible(FieldEntry columnObj, boolean visible) {
+				columnObj.visible = visible;
 			}
 
 			@Override
-			public void setColumnMovable(Object columnObj, boolean movable) {
+			public void setColumnMovable(FieldEntry columnObj, boolean movable) {
 				// not implemented
 			}
 
 			@Override
-			public void setColumnIndex(Object columnObj, int index) {
+			public void setColumnIndex(FieldEntry columnObj, int index) {
 				// ignore
 			}
 
 			@Override
-			public void setColumnResizable(Object columnObj, boolean resizable) {
+			public void setColumnResizable(FieldEntry columnObj, boolean resizable) {
 				// ignore
 			}
 
 			@Override
-			public void setColumnWidth(Object columnObj, int newWidth) {
-				((FieldEntry) columnObj).width = newWidth;
+			public void setColumnWidth(FieldEntry columnObj, int newWidth) {
+				columnObj.width = newWidth;
 			}
 		};
 	}
@@ -298,18 +235,23 @@
 
 		@Override
 		public boolean equals(Object obj) {
-			if (this == obj)
+			if (this == obj) {
 				return true;
-			if (obj == null)
+			}
+			if (obj == null) {
 				return false;
-			if (getClass() != obj.getClass())
+			}
+			if (getClass() != obj.getClass()) {
 				return false;
+			}
 			FieldEntry other = (FieldEntry) obj;
 			if (field == null) {
-				if (other.field != null)
+				if (other.field != null) {
 					return false;
-			} else if (!field.equals(other.field))
+				}
+			} else if (!field.equals(other.field)) {
 				return false;
+			}
 			return true;
 		}
 
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/QuickFixHandler.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/QuickFixHandler.java
index 80d911d..6925ec2 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/QuickFixHandler.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/QuickFixHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation and others.
+ * Copyright (c) 2005, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -61,11 +61,6 @@
 
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
-	 */
 	@Override
 	public Object execute(ExecutionEvent event) throws ExecutionException {
 
@@ -73,36 +68,34 @@
 		if (view == null)
 			return this;
 
-		final Map resolutionsMap = new LinkedHashMap();
+		final Map<IMarkerResolution, Collection<IMarker>> resolutionsMap = new LinkedHashMap<>();
 		final IMarker[] selectedMarkers = view.getSelectedMarkers();
 		final IMarker firstSelectedMarker = selectedMarkers[0];
 
 		IRunnableWithProgress resolutionsRunnable = new IRunnableWithProgress() {
 			@Override
 			public void run(IProgressMonitor monitor) {
-				monitor
-						.beginTask(
-								MarkerMessages.resolveMarkerAction_computationManyAction,
-								100);
+				monitor.beginTask(MarkerMessages.resolveMarkerAction_computationManyAction, 100);
 
 				IMarker[] allMarkers = view.getAllMarkers();
 				monitor.worked(20);
 				IMarkerResolution[] resolutions = IDE.getMarkerHelpRegistry().getResolutions(firstSelectedMarker);
 				int progressCount = 80;
-				if (resolutions.length > 1)
+				if (resolutions.length > 1) {
 					progressCount= progressCount / resolutions.length;
+				}
 				for (int i = 0; i < resolutions.length; i++) {
 					IMarkerResolution markerResolution= resolutions[i];
 					if (markerResolution instanceof WorkbenchMarkerResolution) {
 						IMarker[] other = ((WorkbenchMarkerResolution)markerResolution).findOtherMarkers(allMarkers);
 						if (containsAllButFirst(other, selectedMarkers)) {
-							Collection markers = new ArrayList(other.length + 1);
+							Collection<IMarker> markers = new ArrayList<>(other.length + 1);
 							markers.add(firstSelectedMarker);
 							markers.addAll(Arrays.asList(other));
 							resolutionsMap.put(markerResolution, markers);
 						}
 					} else if (selectedMarkers.length == 1) {
-						Collection markers = new ArrayList(1);
+						Collection<IMarker> markers = new ArrayList<>(1);
 						markers.add(firstSelectedMarker);
 						resolutionsMap.put(markerResolution, markers);
 					}
@@ -112,27 +105,20 @@
 			}
 		};
 
-		Object service = view.getSite().getAdapter(
-				IWorkbenchSiteProgressService.class);
+		Object service = view.getSite().getAdapter(IWorkbenchSiteProgressService.class);
 
-		IRunnableContext context = new ProgressMonitorDialog(view.getSite()
-				.getShell());
+		IRunnableContext context = new ProgressMonitorDialog(view.getSite().getShell());
 
 		try {
 			if (service == null) {
-				PlatformUI.getWorkbench().getProgressService().runInUI(context,
-						resolutionsRunnable, null);
+				PlatformUI.getWorkbench().getProgressService().runInUI(context, resolutionsRunnable, null);
 			} else {
-				((IWorkbenchSiteProgressService) service).runInUI(context,
-						resolutionsRunnable, null);
+				((IWorkbenchSiteProgressService) service).runInUI(context, resolutionsRunnable, null);
 			}
 		} catch (InvocationTargetException exception) {
-			throw new ExecutionException(exception.getLocalizedMessage(),
-					exception);
+			throw new ExecutionException(exception.getLocalizedMessage(), exception);
 		} catch (InterruptedException exception) {
-
-			throw new ExecutionException(exception.getLocalizedMessage(),
-					exception);
+			throw new ExecutionException(exception.getLocalizedMessage(), exception);
 		}
 
 		String markerDescription= firstSelectedMarker.getAttribute(IMarker.MESSAGE,
@@ -151,19 +137,14 @@
 						view.getSite().getShell(),
 						MarkerMessages.resolveMarkerAction_dialogTitle,
 						MarkerMessages.MarkerResolutionDialog_NoResolutionsFoundForMultiSelection);
-
 			}
 		} else {
-
 			String description = NLS.bind(
 					MarkerMessages.MarkerResolutionDialog_Description,
 					markerDescription);
-
-			Wizard wizard= new QuickFixWizard(description, selectedMarkers, resolutionsMap, view
-					.getSite());
+			Wizard wizard = new QuickFixWizard(description, selectedMarkers, resolutionsMap, view.getSite());
 			wizard.setWindowTitle(MarkerMessages.resolveMarkerAction_dialogTitle);
-			WizardDialog dialog = new QuickFixWizardDialog(view.getSite()
-					.getShell(), wizard);
+			WizardDialog dialog = new QuickFixWizardDialog(view.getSite().getShell(), wizard);
 			dialog.open();
 		}
 		return this;
@@ -181,8 +162,9 @@
 	private static boolean containsAllButFirst(Object[] extent, Object[] members) {
 		outer: for (int i= 1; i < members.length; i++) {
 			for (int j= 0; j < extent.length; j++) {
-				if (members[i] == extent[j])
+				if (members[i] == extent[j]) {
 					continue outer;
+				}
 			}
 			return false;
 		}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/QuickFixPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/QuickFixPage.java
index d740888..9700322 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/QuickFixPage.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/QuickFixPage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2011 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -75,7 +75,7 @@
  */
 public class QuickFixPage extends WizardPage {
 
-	private Map resolutions;
+	private Map<IMarkerResolution, Collection<IMarker>> resolutions;
 
 	private TableViewer resolutionsList;
 	private CheckboxTableViewer markersTable;
@@ -92,7 +92,7 @@
 	 *            {@link Collection} of {@link IMarker}
 	 * @param site The IWorkbenchPartSite to show markers
 	 */
-	public QuickFixPage(String problemDescription, IMarker[] selectedMarkers, Map resolutions,
+	public QuickFixPage(String problemDescription, IMarker[] selectedMarkers, Map<IMarkerResolution, Collection<IMarker>> resolutions,
 			IWorkbenchPartSite site) {
 		super(problemDescription);
 		this.selectedMarkers= selectedMarkers;
@@ -355,7 +355,7 @@
 				}
 
 				if (resolutions.containsKey(selected)) {
-					return ((Collection) resolutions.get(selected)).toArray();
+					return resolutions.get(selected).toArray();
 				}
 				return MarkerSupportInternalUtilities.EMPTY_MARKER_ARRAY;
 			}
@@ -574,23 +574,16 @@
 		if (resolution instanceof WorkbenchMarkerResolution) {
 
 			try {
-				getWizard().getContainer().run(false, true,
-						new IRunnableWithProgress() {
-							/*
-							 * (non-Javadoc)
-							 *
-							 * @see org.eclipse.jface.operation.IRunnableWithProgress#run(org.eclipse.core.runtime.IProgressMonitor)
-							 */
-							@Override
-							public void run(IProgressMonitor monitor) {
-								IMarker[] markers = new IMarker[checked.length];
-								System.arraycopy(checked, 0, markers, 0,
-										checked.length);
-								((WorkbenchMarkerResolution) resolution).run(
-										markers, monitor);
-							}
+				getWizard().getContainer().run(false, true, new IRunnableWithProgress() {
 
-						});
+					@Override
+					public void run(IProgressMonitor monitor1) {
+						IMarker[] markers = new IMarker[checked.length];
+						System.arraycopy(checked, 0, markers, 0, checked.length);
+						((WorkbenchMarkerResolution) resolution).run(markers, monitor1);
+					}
+
+				});
 			} catch (InvocationTargetException e) {
 				StatusManager.getManager().handle(
 						MarkerSupportInternalUtilities.errorFor(e));
@@ -602,33 +595,25 @@
 		} else {
 
 			try {
-				getWizard().getContainer().run(false, true,
-						new IRunnableWithProgress() {
-							/*
-							 * (non-Javadoc)
-							 *
-							 * @see org.eclipse.jface.operation.IRunnableWithProgress#run(org.eclipse.core.runtime.IProgressMonitor)
-							 */
-							@Override
-							public void run(IProgressMonitor monitor) {
-								monitor
-										.beginTask(
-												MarkerMessages.MarkerResolutionDialog_Fixing,
-												checked.length);
-								for (int i = 0; i < checked.length; i++) {
-									// Allow paint events and wake up the button
-									getShell().getDisplay().readAndDispatch();
-									if (monitor.isCanceled())
-										return;
-									IMarker marker = (IMarker) checked[i];
-									monitor.subTask(Util.getProperty(
-											IMarker.MESSAGE, marker));
-									resolution.run(marker);
-									monitor.worked(1);
-								}
-							}
+				getWizard().getContainer().run(false, true, new IRunnableWithProgress() {
 
-						});
+					@Override
+					public void run(IProgressMonitor monitor1) {
+						monitor1.beginTask(MarkerMessages.MarkerResolutionDialog_Fixing, checked.length);
+						for (int i = 0; i < checked.length; i++) {
+							// Allow paint events and wake up the button
+							getShell().getDisplay().readAndDispatch();
+							if (monitor1.isCanceled()) {
+								return;
+							}
+							IMarker marker = (IMarker) checked[i];
+							monitor1.subTask(Util.getProperty(IMarker.MESSAGE, marker));
+							resolution.run(marker);
+							monitor1.worked(1);
+						}
+					}
+
+				});
 			} catch (InvocationTargetException e) {
 				StatusManager.getManager().handle(
 						MarkerSupportInternalUtilities.errorFor(e));
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/QuickFixWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/QuickFixWizard.java
index 81b2b0b..3c42077 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/QuickFixWizard.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/QuickFixWizard.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2010 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -12,6 +12,7 @@
 package org.eclipse.ui.internal.views.markers;
 
 import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
 import java.util.Map;
 
 import org.eclipse.core.resources.IMarker;
@@ -37,7 +38,7 @@
 class QuickFixWizard extends Wizard {
 
 	private IMarker[] selectedMarkers;
-	private Map resolutionMap;
+	private Map<IMarkerResolution, Collection<IMarker>> resolutionMap;
 	private String description;
 	private IWorkbenchPartSite partSite;
 
@@ -49,7 +50,7 @@
 	 * @param resolutions Map key {@link IMarkerResolution} value {@link IMarker} []
 	 * @param site the {@link IWorkbenchPartSite} to open the markers in
 	 */
-	public QuickFixWizard(String description, IMarker[] selectedMarkers, Map resolutions, IWorkbenchPartSite site) {
+	public QuickFixWizard(String description, IMarker[] selectedMarkers, Map<IMarkerResolution, Collection<IMarker>> resolutions, IWorkbenchPartSite site) {
 		this.selectedMarkers= selectedMarkers;
 		this.resolutionMap = resolutions;
 		this.description = description;
@@ -60,30 +61,16 @@
 
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.jface.wizard.Wizard#addPages()
-	 */
 	@Override
 	public void addPages() {
 		super.addPages();
 		addPage(new QuickFixPage(description, selectedMarkers, resolutionMap, partSite));
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.jface.wizard.Wizard#performFinish()
-	 */
 	@Override
 	public boolean performFinish() {
 		IRunnableWithProgress finishRunnable = new IRunnableWithProgress() {
-			/*
-			 * (non-Javadoc)
-			 *
-			 * @see org.eclipse.jface.operation.IRunnableWithProgress#run(org.eclipse.core.runtime.IProgressMonitor)
-			 */
+
 			@Override
 			public void run(IProgressMonitor monitor)
 				 {
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/SelectedWarningsParameters.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/SelectedWarningsParameters.java
index c9869ce..724ccf3 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/SelectedWarningsParameters.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/SelectedWarningsParameters.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -25,11 +25,10 @@
  */
 public class SelectedWarningsParameters extends FiltersContributionParameters {
 
-	private static Map warningsMap;
+	private static Map<String, Integer> warningsMap;
 	static {
-		warningsMap = new HashMap();
-		warningsMap.put(IMarker.SEVERITY, new Integer(
-				SeverityAndDescriptionFieldFilter.SEVERITY_WARNING));
+		warningsMap = new HashMap<>();
+		warningsMap.put(IMarker.SEVERITY, new Integer(SeverityAndDescriptionFieldFilter.SEVERITY_WARNING));
 	}
 
 	/**
@@ -39,13 +38,8 @@
 		super();
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.internal.provisional.views.markers.FiltersContributionParameters#getParameterValues()
-	 */
 	@Override
-	public Map getParameterValues() {
+	public Map<String, Integer> getParameterValues() {
 		return warningsMap;
 	}
 
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/TodoFiltersContributionParameters.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/TodoFiltersContributionParameters.java
index 4be6bf1..ef2efab 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/TodoFiltersContributionParameters.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/TodoFiltersContributionParameters.java
@@ -1,6 +1,5 @@
-package org.eclipse.ui.internal.views.markers;
 /*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -9,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-
+package org.eclipse.ui.internal.views.markers;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -22,12 +21,11 @@
  * @since 3.4
  *
  */
-public class TodoFiltersContributionParameters extends
-		FiltersContributionParameters {
+public class TodoFiltersContributionParameters extends FiltersContributionParameters {
 
-	private static Map todoMap;
+	private static Map<String, String> todoMap;
 	static {
-		todoMap = new HashMap();
+		todoMap = new HashMap<>();
 		todoMap.put(MarkerSupportConstants.CONTAINS_KEY, "TODO"); //$NON-NLS-1$
 	}
 
@@ -38,11 +36,8 @@
 		super();
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.provisional.views.markers.api.FiltersContributionParameters#getParameterValues()
-	 */
 	@Override
-	public Map getParameterValues() {
+	public Map<String, String> getParameterValues() {
 		return todoMap;
 	}
 
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/TypesConfigurationArea.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/TypesConfigurationArea.java
index 7a99f3e..6de00b3 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/TypesConfigurationArea.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/TypesConfigurationArea.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2011 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -18,15 +18,6 @@
 import java.util.Iterator;
 import java.util.List;
 
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Tree;
-
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.viewers.CheckStateChangedEvent;
 import org.eclipse.jface.viewers.CheckboxTreeViewer;
@@ -35,7 +26,14 @@
 import org.eclipse.jface.viewers.LabelProvider;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.jface.viewers.ViewerComparator;
-
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Tree;
 import org.eclipse.ui.views.markers.MarkerFieldFilter;
 import org.eclipse.ui.views.markers.internal.MarkerMessages;
 import org.eclipse.ui.views.markers.internal.MarkerSupportRegistry;
@@ -52,7 +50,7 @@
 
 	private class CategoryEntry extends TypesEntry {
 
-		private Collection children = new ArrayList();
+		private Collection<MarkerTypeEntry> children = new ArrayList<>();
 		private String name;
 
 		/**
@@ -75,58 +73,29 @@
 
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.internal.provisional.views.markers.TypesConfigurationArea.TypesEntry#addElementsMatching(java.util.Collection,
-		 *      java.util.Collection)
-		 */
 		@Override
-		public void addElementsMatching(Collection selectedTypes,
-				Collection entries) {
-			Iterator childIterator = children.iterator();
+		public void addElementsMatching(Collection<MarkerType> selectedTypes, Collection<TypesEntry> entries) {
+			Iterator<MarkerTypeEntry> childIterator = children.iterator();
 			while (childIterator.hasNext()) {
-				((MarkerTypeEntry) childIterator.next()).addElementsMatching(
-						selectedTypes, entries);
+				childIterator.next().addElementsMatching(selectedTypes, entries);
 			}
-
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.internal.provisional.views.markers.TypesConfigurationArea.TypesEntry#getChildren()
-		 */
 		@Override
-		public Collection getChildren() {
+		public Collection<MarkerTypeEntry> getChildren() {
 			return children;
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.internal.provisional.views.markers.TypesConfigurationArea.TypesEntry#getLabel()
-		 */
 		@Override
 		public String getLabel() {
 			return name;
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.internal.provisional.views.markers.TypesConfigurationArea.TypesEntry#getParent()
-		 */
 		@Override
 		public TypesEntry getParent() {
 			return null;
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.internal.provisional.views.markers.TypesConfigurationArea.TypesEntry#hasChildren()
-		 */
 		@Override
 		public boolean hasChildren() {
 			return children.size() > 0;
@@ -148,35 +117,18 @@
 			this.markerType = markerType;
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.internal.provisional.views.markers.TypesConfigurationArea.TypesEntry#addElementsMatching(java.util.Collection,
-		 *      java.util.Collection)
-		 */
 		@Override
-		public void addElementsMatching(Collection selectedTypes,
-				Collection entries) {
-			if (selectedTypes.contains(markerType))
+		public void addElementsMatching(Collection<MarkerType> selectedTypes, Collection<TypesEntry> entries) {
+			if (selectedTypes.contains(markerType)) {
 				entries.add(this);
-
+			}
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.internal.provisional.views.markers.TypesConfigurationArea.TypesEntry#getChildren()
-		 */
 		@Override
-		public Collection getChildren() {
+		public Collection<MarkerTypeEntry> getChildren() {
 			return EMPTY_COLLECTION;
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.internal.provisional.views.markers.TypesConfigurationArea.TypesEntry#getLabel()
-		 */
 		@Override
 		public String getLabel() {
 			return markerType.getLabel();
@@ -191,21 +143,11 @@
 			return markerType;
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.internal.provisional.views.markers.TypesConfigurationArea.TypesEntry#getParent()
-		 */
 		@Override
 		public TypesEntry getParent() {
 			return category;
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.internal.provisional.views.markers.TypesConfigurationArea.TypesEntry#hasChildren()
-		 */
 		@Override
 		public boolean hasChildren() {
 			return false;
@@ -218,7 +160,6 @@
 		 */
 		public void setParent(CategoryEntry categoryEntry) {
 			category = categoryEntry;
-
 		}
 
 	}
@@ -231,15 +172,14 @@
 		 * @param selectedTypes
 		 * @param entries
 		 */
-		public abstract void addElementsMatching(Collection selectedTypes,
-				Collection entries);
+		public abstract void addElementsMatching(Collection<MarkerType> selectedTypes, Collection<TypesEntry> entries);
 
 		/**
 		 * Return the children of the receiver.
 		 *
 		 * @return TypesEntry[]
 		 */
-		public abstract Collection getChildren();
+		public abstract Collection<MarkerTypeEntry> getChildren();
 
 		/**
 		 * Return the label for the receiver.
@@ -264,52 +204,32 @@
 
 	}
 
-	private static Collection EMPTY_COLLECTION = new HashSet();
+	private static Collection<MarkerTypeEntry> EMPTY_COLLECTION = new HashSet<>();
 
-	private HashMap models = new HashMap(0);
+	private HashMap<MarkerFieldFilterGroup, List<TypesEntry>> models = new HashMap<>(0);
 
 	private CheckboxTreeViewer typesViewer;
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.internal.provisional.views.markers.api.FilterConfigurationArea#apply(org.eclipse.ui.internal.provisional.views.markers.api.MarkerFieldFilter)
-	 */
 	@Override
 	public void apply(MarkerFieldFilter filter) {
-		Collection selectedTypes = new ArrayList();
+		Collection<MarkerType> selectedTypes = new ArrayList<>();
 		Object[] elements = typesViewer.getCheckedElements();
 		for (int i = 0; i < elements.length; i++) {
-			if (elements[i] instanceof MarkerTypeEntry)
-				selectedTypes.add(((MarkerTypeEntry) elements[i])
-						.getMarkerType());
+			if (elements[i] instanceof MarkerTypeEntry) {
+				selectedTypes.add(((MarkerTypeEntry) elements[i]).getMarkerType());
+			}
 		}
-		MarkerFieldFilterGroup group = (MarkerFieldFilterGroup) typesViewer
-				.getInput();
-
-		((MarkerTypeFieldFilter) filter).setSelectedTypes(selectedTypes,
-				group.generator);
-
+		MarkerFieldFilterGroup group = (MarkerFieldFilterGroup) typesViewer.getInput();
+		((MarkerTypeFieldFilter) filter).setSelectedTypes(selectedTypes, group.generator);
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.internal.provisional.views.markers.FilterConfigurationArea#applyToGroup(org.eclipse.ui.internal.provisional.views.markers.MarkerFieldFilterGroup)
-	 */
 	@Override
 	public void applyToGroup(MarkerFieldFilterGroup group) {
 		// Nothing to set at the group level
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.internal.provisional.views.markers.FilterConfigurationArea#createContents(org.eclipse.swt.widgets.Composite)
-	 */
 	@Override
 	public void createContents(Composite parent) {
-
 		Composite composite = new Composite(parent, SWT.NONE);
 		composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
 		GridLayout layout = new GridLayout();
@@ -334,27 +254,15 @@
 		typesViewer.getControl().setLayoutData(gridData);
 		typesViewer.setContentProvider(typesContentProvider);
 		typesViewer.setLabelProvider(new LabelProvider() {
-			/*
-			 * (non-Javadoc)
-			 *
-			 * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
-			 */
 			@Override
 			public String getText(Object element) {
 				return ((TypesEntry) element).getLabel();
 			}
 		});
 		typesViewer.setComparator(new ViewerComparator() {
-			/*
-			 * (non-Javadoc)
-			 *
-			 * @see org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse.jface.viewers.Viewer,
-			 *      java.lang.Object, java.lang.Object)
-			 */
 			@Override
 			public int compare(Viewer viewer, Object e1, Object e2) {
-				return ((TypesEntry) e1).getLabel().compareTo(
-						((TypesEntry) e2).getLabel());
+				return ((TypesEntry) e1).getLabel().compareTo(((TypesEntry) e2).getLabel());
 			}
 		});
 		typesViewer.addCheckStateListener(new ICheckStateListener() {
@@ -375,14 +283,12 @@
 			 * @param checked
 			 */
 			private void setChildrenChecked(Object element, boolean checked) {
-
 				Object[] children = typesContentProvider.getChildren(element);
 				if (children.length > 0) {
 					for (int i = 0; i < children.length; i++) {
 						typesViewer.setChecked(children[i], checked);
 					}
 				}
-
 			}
 
 			/**
@@ -392,24 +298,22 @@
 			 * @param checked
 			 */
 			private void setParentCheckState(Object element, boolean checked) {
-
-				Object parent = typesContentProvider.getParent(element);
-				if (parent == null)
+				Object parentType = typesContentProvider.getParent(element);
+				if (parentType == null) {
 					return;
+				}
 
-				Object[] children = typesContentProvider.getChildren(parent);
-
+				Object[] children = typesContentProvider.getChildren(parentType);
 				for (int i = 0; i < children.length; i++) {// At least one
 					// different
 					if (typesViewer.getChecked(children[i]) != checked) {
-						typesViewer.setGrayChecked(parent, true);
+						typesViewer.setGrayChecked(parentType, true);
 						return;
 					}
 				}
-				typesViewer.setGrayed(parent, false);
+				typesViewer.setGrayed(parentType, false);
 				// All are the same - update the parent
-				typesViewer.setChecked(parent, checked);
-
+				typesViewer.setChecked(parentType, checked);
 			}
 		});
 
@@ -423,15 +327,12 @@
 
 		Button selectAllButton = new Button(buttonComposite, SWT.PUSH);
 		selectAllButton.setText(MarkerMessages.filtersDialog_selectAllTypes);
-		selectAllButton.addSelectionListener(getSelectAllButtonListener(
-				typesContentProvider, true));
+		selectAllButton.addSelectionListener(getSelectAllButtonListener(typesContentProvider, true));
 		setButtonLayoutData(selectAllButton);
 
 		Button deselectAllButton = new Button(buttonComposite, SWT.PUSH);
-		deselectAllButton
-				.setText(MarkerMessages.filtersDialog_deselectAllTypes);
-		deselectAllButton.addSelectionListener(getSelectAllButtonListener(
-				typesContentProvider, false));
+		deselectAllButton.setText(MarkerMessages.filtersDialog_deselectAllTypes);
+		deselectAllButton.addSelectionListener(getSelectAllButtonListener(typesContentProvider, false));
 		setButtonLayoutData(deselectAllButton);
 	}
 
@@ -455,28 +356,15 @@
 			final ITreeContentProvider typesContentProvider,
 			final boolean checked) {
 		return new SelectionListener() {
-			/*
-			 * (non-Javadoc)
-			 *
-			 * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
-			 */
 			@Override
 			public void widgetDefaultSelected(SelectionEvent e) {
-
 			}
 
-			/*
-			 * (non-Javadoc)
-			 *
-			 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-			 */
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				Object[] elements = typesContentProvider
-						.getElements(typesViewer.getInput());
+				Object[] elements = typesContentProvider.getElements(typesViewer.getInput());
 				for (int i = 0; i < elements.length; i++) {
 					typesViewer.setSubtreeChecked(elements[i], checked);
-
 				}
 			}
 		};
@@ -488,25 +376,22 @@
 	 * @param group
 	 * @return List of TypesEntry
 	 */
-	protected List elementsForGroup(MarkerFieldFilterGroup group) {
-
-		if (models.containsKey(group))
-			return (List) models.get(group);
-		Iterator roots = group.getAllTypes().iterator();
-		List markerNodes = new ArrayList();
-		HashMap categories = new HashMap();
+	protected List<TypesEntry> elementsForGroup(MarkerFieldFilterGroup group) {
+		if (models.containsKey(group)) {
+			return models.get(group);
+		}
+		Iterator<MarkerType> roots = group.getAllTypes().iterator();
+		List<TypesEntry> markerNodes = new ArrayList<>();
+		HashMap<String, CategoryEntry> categories = new HashMap<>();
 		while (roots.hasNext()) {
-			MarkerType markerType = (MarkerType) roots.next();
-
-			String categoryName = MarkerSupportRegistry.getInstance()
-					.getCategory(markerType.getId());
-
+			MarkerType markerType = roots.next();
+			String categoryName = MarkerSupportRegistry.getInstance().getCategory(markerType.getId());
 			if (categoryName == null) {
 				markerNodes.add(new MarkerTypeEntry(markerType));
 			} else {
 				CategoryEntry category;
 				if (categories.containsKey(categoryName)) {
-					category = (CategoryEntry) categories.get(categoryName);
+					category = categories.get(categoryName);
 				} else {
 					category = new CategoryEntry(categoryName);
 					categories.put(categoryName, category);
@@ -515,7 +400,6 @@
 				MarkerTypeEntry node = new MarkerTypeEntry(markerType);
 				category.add(node);
 			}
-
 		}
 		models.put(group, markerNodes);
 		return markerNodes;
@@ -530,20 +414,19 @@
 	 * @param greyEntries
 	 */
 	private void findTypeEntries(MarkerFieldFilterGroup group,
-			Collection entries, Collection greyEntries) {
-		Iterator elements = elementsForGroup(group).iterator();
+			Collection<TypesEntry> entries, Collection<TypesEntry> greyEntries) {
+		Iterator<TypesEntry> elements = elementsForGroup(group).iterator();
 
-		Collection selectedTypes = ((MarkerTypeFieldFilter) group
-				.getFilter(this.getField())).getSelectedTypes();
+		Collection<MarkerType> selectedTypes = ((MarkerTypeFieldFilter) group.getFilter(getField())).getSelectedTypes();
 		while (elements.hasNext()) {
-			TypesEntry entry = (TypesEntry) elements.next();
+			TypesEntry entry = elements.next();
 			entry.addElementsMatching(selectedTypes, entries);
 			if (entry.hasChildren()) {// Is it a category?
-				Collection children = entry.getChildren();
-				if (entries.containsAll(children))
+				Collection<MarkerTypeEntry> children = entry.getChildren();
+				if (entries.containsAll(children)) {
 					entries.add(entry);
-				else {// See if we need to gray check it
-					Iterator iterator = children.iterator();
+				} else {// See if we need to gray check it
+					Iterator<MarkerTypeEntry> iterator = children.iterator();
 					while (iterator.hasNext()) {
 						if (entries.contains(iterator.next())) {
 							greyEntries.add(entry);
@@ -552,7 +435,6 @@
 					}
 				}
 			}
-
 		}
 	}
 
@@ -564,62 +446,31 @@
 	private ITreeContentProvider getTypesContentProvider() {
 		return new ITreeContentProvider() {
 
-			/*
-			 * (non-Javadoc)
-			 *
-			 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-			 */
 			@Override
 			public void dispose() {
 			}
 
-			/*
-			 * (non-Javadoc)
-			 *
-			 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-			 */
 			@Override
 			public Object[] getChildren(Object parentElement) {
 				return ((TypesEntry) parentElement).getChildren().toArray();
 			}
 
-			/*
-			 * (non-Javadoc)
-			 *
-			 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-			 */
 			@Override
 			public Object[] getElements(Object inputElement) {
 				return elementsForGroup((MarkerFieldFilterGroup) inputElement)
 						.toArray();
 			}
 
-			/*
-			 * (non-Javadoc)
-			 *
-			 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
-			 */
 			@Override
 			public Object getParent(Object element) {
 				return ((TypesEntry) element).getParent();
 			}
 
-			/*
-			 * (non-Javadoc)
-			 *
-			 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-			 */
 			@Override
 			public boolean hasChildren(Object element) {
 				return ((TypesEntry) element).hasChildren();
 			}
 
-			/*
-			 * (non-Javadoc)
-			 *
-			 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
-			 *      java.lang.Object, java.lang.Object)
-			 */
 			@Override
 			public void inputChanged(Viewer viewer, Object oldInput,
 					Object newInput) {
@@ -627,39 +478,23 @@
 		};
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.internal.provisional.views.markers.api.FilterConfigurationArea#initialize(org.eclipse.ui.internal.provisional.views.markers.api.MarkerFieldFilter)
-	 */
 	@Override
 	public void initialize(MarkerFieldFilter filter) {
 		// This was already done when initialising from the group.
-
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.internal.views.markers.GroupFilterConfigurationArea#initializeFromGroup(org.eclipse.ui.internal.views.markers.MarkerFieldFilterGroup)
-	 */
 	@Override
 	public void initializeFromGroup(MarkerFieldFilterGroup group) {
 		typesViewer.setInput(group);
 		typesViewer.refresh();
-		Collection checked = new HashSet();
-		Collection greyed = new HashSet();
+		Collection<TypesEntry> checked = new HashSet<>();
+		Collection<TypesEntry> greyed = new HashSet<>();
 		findTypeEntries(group, checked, greyed);
 		checked.addAll(greyed);
 		typesViewer.setCheckedElements(checked.toArray());
 		typesViewer.setGrayedElements(greyed.toArray());
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.views.markers.FilterConfigurationArea#getTitle()
-	 */
 	@Override
 	public String getTitle() {
 		return MarkerMessages.filtersDialog_typesTitle;
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/ViewerColumnsDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/ViewerColumnsDialog.java
index 1b1ac32..00669ca 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/ViewerColumnsDialog.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/ViewerColumnsDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -65,13 +65,13 @@
  * @noextend This class is not intended to be subclassed by clients.
  *
  */
-abstract class ViewerColumnsDialog extends ViewerSettingsAndStatusDialog {
+abstract class ViewerColumnsDialog<T> extends ViewerSettingsAndStatusDialog {
 
 	/** The list contains columns that are currently visible in viewer */
-	private List visible;
+	private List<T> visible;
 
 	/** The list contains columns that are note shown in viewer */
-	private List nonVisible;
+	private List<T> nonVisible;
 
 	private TableViewer visibleViewer, nonVisibleViewer;
 
@@ -98,14 +98,16 @@
 	 *
 	 * @param columnObjs
 	 */
-	void setColumnsObjs(Object[] columnObjs) {
-		IColumnInfoProvider columnInfo = doGetColumnInfoProvider();
-		IColumnUpdater updater = doGetColumnUpdater();
-		List visible = getVisible();
-		List nonVisible = getNonVisible();
+	void setColumnsObjs(T[] columnObjs) {
+		IColumnInfoProvider<T> columnInfo = doGetColumnInfoProvider();
+		IColumnUpdater<T> updater = doGetColumnUpdater();
+		@SuppressWarnings("hiding")
+		List<T> visible = getVisible();
+		@SuppressWarnings("hiding")
+		List<T> nonVisible = getNonVisible();
 		visible.clear();
 		nonVisible.clear();
-		Object data = null;
+		T data = null;
 		for (int i = 0; i < columnObjs.length; i++) {
 			data = columnObjs[i];
 			if (columnInfo.isColumnVisible(data)) {
@@ -120,15 +122,9 @@
 		}
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.ui.internal.views.markers.ViewerSettingsAndStatusDialog#
-	 * createDialogContentArea(org.eclipse.swt.widgets.Composite)
-	 */
 	@Override
-	protected Control createDialogContentArea(Composite dialogArea) {
-		Composite composite = new Composite(dialogArea, SWT.NONE);
+	protected Control createDialogContentArea(Composite parent) {
+		Composite composite = new Composite(parent, SWT.NONE);
 		GridLayout gridLayout = new GridLayout(4, false);
 		gridLayout.marginHeight = 0;
 		composite.setLayout(gridLayout);
@@ -140,8 +136,9 @@
 		createUpDownBtt(composite);
 		createWidthArea(composite);
 		Object element = visibleViewer.getElementAt(0);
-		if (element != null)
+		if (element != null) {
 			visibleViewer.setSelection(new StructuredSelection(element));
+		}
 		visibleViewer.getTable().setFocus();
 		return composite;
 	}
@@ -177,8 +174,7 @@
 		upButton.setEnabled(false);
 
 		downButton = new Button(bttArea, SWT.PUSH);
-		downButton.setText(JFaceResources
-				.getString("ConfigureColumnsDialog_down")); //$NON-NLS-1$
+		downButton.setText(JFaceResources.getString("ConfigureColumnsDialog_down")); //$NON-NLS-1$
 		downButton.addListener(SWT.Selection, new Listener() {
 			@Override
 			public void handleEvent(Event event) {
@@ -197,7 +193,6 @@
 	 * @return {@link Control}
 	 */
 	Control createWidthArea(Composite parent) {
-
 		Label dummy = new Label(parent, SWT.NONE);
 		dummy.setLayoutData(new GridData(SWT.NONE, SWT.NONE, false, false, 2, 1));
 
@@ -229,7 +224,6 @@
 		gridData.widthHint = convertWidthInCharsToPixels(5);
 		widthText.setLayoutData(gridData);
 		widthText.addModifyListener(new ModifyListener() {
-
 			@Override
 			public void modifyText(ModifyEvent e) {
 				updateWidth();
@@ -251,7 +245,6 @@
 	 * @return {@link Control}
 	 */
 	Control createVisibleTable(Composite parent) {
-
 		Composite composite = new Composite(parent, SWT.NONE);
 		GridLayout gridLayout = new GridLayout(1, false);
 		gridLayout.marginHeight =0;
@@ -280,13 +273,12 @@
 		visibleViewer = new TableViewer(table);
 		visibleViewer.setLabelProvider(doGetLabelProvider());
 		visibleViewer.setContentProvider(ArrayContentProvider.getInstance());
-		visibleViewer
-				.addSelectionChangedListener(new ISelectionChangedListener() {
-					@Override
-					public void selectionChanged(SelectionChangedEvent event) {
-						handleVisibleSelection(event.getSelection());
-					}
-				});
+		visibleViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+			@Override
+			public void selectionChanged(SelectionChangedEvent event) {
+				handleVisibleSelection(event.getSelection());
+			}
+		});
 		table.addListener(SWT.MouseDoubleClick, new Listener() {
 			@Override
 			public void handleEvent(Event event) {
@@ -304,7 +296,6 @@
 	 * @return {@link Control}
 	 */
 	Control createInvisibleTable(Composite parent) {
-
 		Composite composite = new Composite(parent, SWT.NONE);
 		GridLayout gridLayout = new GridLayout(1, false);
 		gridLayout.marginHeight = 0;
@@ -336,13 +327,12 @@
 		nonVisibleViewer = new TableViewer(table);
 		nonVisibleViewer.setLabelProvider(doGetLabelProvider());
 		nonVisibleViewer.setContentProvider(ArrayContentProvider.getInstance());
-		nonVisibleViewer
-				.addSelectionChangedListener(new ISelectionChangedListener() {
-					@Override
-					public void selectionChanged(SelectionChangedEvent event) {
-						handleNonVisibleSelection(event.getSelection());
-					}
-				});
+		nonVisibleViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+			@Override
+			public void selectionChanged(SelectionChangedEvent event) {
+				handleNonVisibleSelection(event.getSelection());
+			}
+		});
 		table.addListener(SWT.MouseDoubleClick, new Listener() {
 			@Override
 			public void handleEvent(Event event) {
@@ -410,10 +400,8 @@
 	void handleNonVisibleSelection(ISelection selection) {
 		Object[] nvKeys = ((IStructuredSelection) selection).toArray();
 		toVisibleBtt.setEnabled(nvKeys.length > 0);
-		if (visibleViewer.getControl().isFocusControl()
-				&& getVisible().size() <= 1) {
-			handleStatusUdpate(IStatus.INFO,
-					MarkerMessages.MarkerPreferences_AtLeastOneVisibleColumn);
+		if (visibleViewer.getControl().isFocusControl() && getVisible().size() <= 1) {
+			handleStatusUdpate(IStatus.INFO, MarkerMessages.MarkerPreferences_AtLeastOneVisibleColumn);
 		} else {
 			handleStatusUdpate(IStatus.INFO, getDefaultMessage());
 		}
@@ -426,16 +414,16 @@
 	 * @param selection
 	 */
 	void handleVisibleSelection(ISelection selection) {
-		List selVCols = ((IStructuredSelection) selection).toList();
-		List allVCols = getVisible();
-		toNonVisibleBtt.setEnabled(selVCols.size() > 0
-				&& allVCols.size() > selVCols.size());
+		@SuppressWarnings("unchecked")
+		List<T> selVCols = ((IStructuredSelection) selection).toList();
+		List<T> allVCols = getVisible();
+		toNonVisibleBtt.setEnabled(selVCols.size() > 0 && allVCols.size() > selVCols.size());
 
-		IColumnInfoProvider infoProvider = doGetColumnInfoProvider();
+		IColumnInfoProvider<T> infoProvider = doGetColumnInfoProvider();
 		boolean moveDown = !selVCols.isEmpty(), moveUp = !selVCols.isEmpty();
-		Iterator iterator = selVCols.iterator();
+		Iterator<T> iterator = selVCols.iterator();
 		while (iterator.hasNext()) {
-			Object columnObj = iterator.next();
+			T columnObj = iterator.next();
 			if (!infoProvider.isColumnMovable(columnObj)) {
 				moveUp = false;
 				moveDown = false;
@@ -458,8 +446,7 @@
 		upButton.setEnabled(moveUp);
 		downButton.setEnabled(moveDown);
 
-		boolean edit = selVCols.size() == 1 ? infoProvider
-				.isColumnResizable(selVCols.get(0)) : false;
+		boolean edit = selVCols.size() == 1 ? infoProvider.isColumnResizable(selVCols.get(0)) : false;
 		setWidthEnabled(edit);
 		if (edit) {
 			int width = infoProvider.getColumnWidth(selVCols.get(0));
@@ -477,13 +464,13 @@
 	 *            event from the button click
 	 */
 	void handleDownButton(Event e) {
-		IStructuredSelection selection = (IStructuredSelection) visibleViewer
-				.getSelection();
-		Object[] selVCols = selection.toArray();
-		List allVCols = getVisible();
-		IColumnUpdater updater = doGetColumnUpdater();
-		for (int i = selVCols.length - 1; i >= 0; i--) {
-			Object colObj = selVCols[i];
+		IStructuredSelection selection = (IStructuredSelection) visibleViewer.getSelection();
+		@SuppressWarnings("unchecked")
+		List<T> selVCols = selection.toList();
+		List<T> allVCols = getVisible();
+		IColumnUpdater<T> updater = doGetColumnUpdater();
+		for (int i = selVCols.size() - 1; i >= 0; i--) {
+			T colObj = selVCols.get(i);
 			int index = allVCols.indexOf(colObj);
 			updater.setColumnIndex(colObj, index + 1);
 			allVCols.remove(index);
@@ -501,13 +488,13 @@
 	 *            event from the button click
 	 */
 	void handleUpButton(Event e) {
-		IStructuredSelection selection = (IStructuredSelection) visibleViewer
-				.getSelection();
-		Object[] selVCols = selection.toArray();
-		List allVCols = getVisible();
-		IColumnUpdater updater = doGetColumnUpdater();
-		for (int i = 0; i < selVCols.length; i++) {
-			Object colObj = selVCols[i];
+		IStructuredSelection selection = (IStructuredSelection) visibleViewer.getSelection();
+		@SuppressWarnings("unchecked")
+		List<T> selVCols = selection.toList();
+		List<T> allVCols = getVisible();
+		IColumnUpdater<T> updater = doGetColumnUpdater();
+		for (int i = 0; i < selVCols.size(); i++) {
+			T colObj = selVCols.get(i);
 			int index = allVCols.indexOf(colObj);
 			updater.setColumnIndex(colObj, index - 1);
 			allVCols.remove(index);
@@ -524,13 +511,12 @@
 	 *            event from the button click
 	 */
 	void handleToVisibleButton(Event e) {
-		IStructuredSelection selection = (IStructuredSelection) nonVisibleViewer
-				.getSelection();
-		List selVCols = selection.toList();
-		List nonVisible = getNonVisible();
-		nonVisible.removeAll(selVCols);
+		IStructuredSelection selection = (IStructuredSelection) nonVisibleViewer.getSelection();
+		@SuppressWarnings("unchecked")
+		List<T> selVCols = selection.toList();
+		getNonVisible().removeAll(selVCols);
 
-		List list = getVisible();
+		List<T> list = getVisible();
 		list.addAll(selVCols);
 
 		updateVisibility(selVCols, true);
@@ -542,7 +528,6 @@
 		nonVisibleViewer.refresh();
 		handleVisibleSelection(selection);
 		handleNonVisibleSelection(nonVisibleViewer.getSelection());
-
 	}
 
 	/**
@@ -552,15 +537,13 @@
 	 *            event from the button click
 	 */
 	protected void handleToNonVisibleButton(Event e) {
-		if (visibleViewer.getControl().isFocusControl()
-				&& getVisible().size() <= 1) {
-			handleStatusUdpate(IStatus.INFO,
-					MarkerMessages.MarkerPreferences_AtLeastOneVisibleColumn);
+		if (visibleViewer.getControl().isFocusControl() && getVisible().size() <= 1) {
+			handleStatusUdpate(IStatus.INFO, MarkerMessages.MarkerPreferences_AtLeastOneVisibleColumn);
 			return;
 		}
-		IStructuredSelection selection = (IStructuredSelection) visibleViewer
-				.getSelection();
-		List selVCols = selection.toList();
+		IStructuredSelection selection = (IStructuredSelection) visibleViewer.getSelection();
+		@SuppressWarnings("unchecked")
+		List<T> selVCols = selection.toList();
 		getVisible().removeAll(selVCols);
 		getNonVisible().addAll(selVCols);
 
@@ -575,17 +558,17 @@
 		handleNonVisibleSelection(nonVisibleViewer.getSelection());
 	}
 
-	void updateIndices(List list) {
-		ListIterator iterator = list.listIterator();
-		IColumnUpdater updater = doGetColumnUpdater();
+	void updateIndices(List<T> list) {
+		ListIterator<T> iterator = list.listIterator();
+		IColumnUpdater<T> updater = doGetColumnUpdater();
 		while (iterator.hasNext()) {
 			updater.setColumnIndex(iterator.next(), iterator.previousIndex());
 		}
 	}
 
-	void updateVisibility(List list, boolean visibility) {
-		IColumnUpdater updater = doGetColumnUpdater();
-		Iterator iterator = list.iterator();
+	void updateVisibility(List<T> list, boolean visibility) {
+		IColumnUpdater<T> updater = doGetColumnUpdater();
+		Iterator<T> iterator = list.iterator();
 		while (iterator.hasNext()) {
 			updater.setColumnVisible(iterator.next(), visibility);
 		}
@@ -612,9 +595,9 @@
 	/**
 	 * @return List of visible columns
 	 */
-	public List getVisible() {
+	public List<T> getVisible() {
 		if (visible == null) {
-			visible = new ArrayList();
+			visible = new ArrayList<>();
 		}
 		return visible;
 	}
@@ -622,9 +605,9 @@
 	/**
 	 * @return List of non-visible columns
 	 */
-	public List getNonVisible() {
+	public List<T> getNonVisible() {
 		if (nonVisible == null) {
-			nonVisible = new ArrayList();
+			nonVisible = new ArrayList<>();
 		}
 		return nonVisible;
 	}
@@ -633,8 +616,7 @@
 	 * An adapter class to {@link ITableLabelProvider}
 	 *
 	 */
-	class TableLabelProvider extends LabelProvider implements
-			ITableLabelProvider {
+	class TableLabelProvider extends LabelProvider implements ITableLabelProvider {
 		@Override
 		public Image getColumnImage(Object element, int columnIndex) {
 			return null;
@@ -664,7 +646,7 @@
 	 * Internal helper to @see
 	 * {@link ViewerColumnsDialog#getColumnInfoProvider()}
 	 */
-	IColumnInfoProvider doGetColumnInfoProvider() {
+	IColumnInfoProvider<T> doGetColumnInfoProvider() {
 		return getColumnInfoProvider();
 	}
 
@@ -672,12 +654,12 @@
 	 * To configure the columns we need further information. The supplied column
 	 * objects are adapted for its properties via {@link IColumnInfoProvider}
 	 */
-	protected abstract IColumnInfoProvider getColumnInfoProvider();
+	protected abstract IColumnInfoProvider<T> getColumnInfoProvider();
 
 	/**
 	 * Internal helper to @see {@link ViewerColumnsDialog#getColumnUpdater()}
 	 */
-	IColumnUpdater doGetColumnUpdater() {
+	IColumnUpdater<T> doGetColumnUpdater() {
 		return getColumnUpdater();
 	}
 
@@ -685,7 +667,7 @@
 	 * To configure properties/order of the columns is achieved via
 	 * {@link IColumnUpdater}
 	 */
-	protected abstract IColumnUpdater getColumnUpdater();
+	protected abstract IColumnUpdater<T> getColumnUpdater();
 
 	/**
 	 *
@@ -693,10 +675,10 @@
 	private void updateWidth() {
 		try {
 			int width = Integer.parseInt(widthText.getText());
-			Object data = ((IStructuredSelection) visibleViewer.getSelection())
-					.getFirstElement();
+			@SuppressWarnings("unchecked")
+			T data = (T) ((IStructuredSelection) visibleViewer.getSelection()).getFirstElement();
 			if (data != null) {
-				IColumnUpdater updater = getColumnUpdater();
+				IColumnUpdater<T> updater = getColumnUpdater();
 				updater.setColumnWidth(data, width);
 			}
 		} catch (NumberFormatException ex) {
@@ -707,54 +689,57 @@
 	/**
 	 * Update various aspects of a columns from a viewer such
 	 * {@link TableViewer}
+	 *
+	 * @param <T>
 	 */
-	public interface IColumnInfoProvider {
+	public interface IColumnInfoProvider<T> {
 
 		/**
 		 * Get corresponding index for the column
 		 *
 		 * @param columnObj
+		 * @return corresponding index for the column
 		 */
-		public int getColumnIndex(Object columnObj);
+		public int getColumnIndex(T columnObj);
 
 		/**
 		 * Get the width of the column
 		 *
 		 * @param columnObj
+		 * @return the width of the column
 		 */
-		public int getColumnWidth(Object columnObj);
+		public int getColumnWidth(T columnObj);
 
 		/**
-		 * Returns true if the column represented by parameters is showing in
-		 * the viewer
-		 *
 		 * @param columnObj
+		 * @return true if the column represented by parameters is showing in
+		 *         the viewer
 		 */
-		public boolean isColumnVisible(Object columnObj);
+		public boolean isColumnVisible(T columnObj);
 
 		/**
-		 * Returns true if the column represented by parameters is configured as
-		 * movable
-		 *
 		 * @param columnObj
+		 * @return true if the column represented by parameters is configured as
+		 *         movable
 		 */
-		public boolean isColumnMovable(Object columnObj);
+		public boolean isColumnMovable(T columnObj);
 
 		/**
-		 * Returns true if the column represented by parameters is configured as
-		 * resizable
-		 *
 		 * @param columnObj
+		 * @return true if the column represented by parameters is configured as
+		 *         resizable
 		 */
-		public boolean isColumnResizable(Object columnObj);
+		public boolean isColumnResizable(T columnObj);
 
 	}
 
 	/**
 	 * Update various aspects of a columns from a viewer such
 	 * {@link TableViewer}
+	 *
+	 * @param <T>
 	 */
-	public interface IColumnUpdater {
+	public interface IColumnUpdater<T> {
 
 		/**
 		 * Set the column represented by parameters as visible
@@ -762,7 +747,7 @@
 		 * @param columnObj
 		 * @param visible
 		 */
-		public void setColumnVisible(Object columnObj, boolean visible);
+		public void setColumnVisible(T columnObj, boolean visible);
 
 		/**
 		 * Dummy method - more a result of symmetry
@@ -770,7 +755,7 @@
 		 * @param columnObj
 		 * @param movable
 		 */
-		public void setColumnMovable(Object columnObj, boolean movable);
+		public void setColumnMovable(T columnObj, boolean movable);
 
 		/**
 		 * Call back to notify change in the index of the column represented by
@@ -779,7 +764,7 @@
 		 * @param columnObj
 		 * @param index
 		 */
-		public void setColumnIndex(Object columnObj, int index);
+		public void setColumnIndex(T columnObj, int index);
 
 		/**
 		 * Dummy method - more a result of symmetry
@@ -787,7 +772,7 @@
 		 * @param columnObj
 		 * @param resizable
 		 */
-		public void setColumnResizable(Object columnObj, boolean resizable);
+		public void setColumnResizable(T columnObj, boolean resizable);
 
 		/**
 		 * Call back to notify change in the width of the column represented by
@@ -796,7 +781,7 @@
 		 * @param columnObj
 		 * @param newWidth
 		 */
-		public void setColumnWidth(Object columnObj, int newWidth);
+		public void setColumnWidth(T columnObj, int newWidth);
 
 	}
 
@@ -834,9 +819,6 @@
 			if (this == obj) {
 				return true;
 			}
-			if (obj == null) {
-				return false;
-			}
 			if (!(obj instanceof TestData)) {
 				return false;
 			}
@@ -859,13 +841,12 @@
 			return key.toString();
 		}
 
-		private static ViewerColumnsDialog getColumnsDialog(Shell shell,
-				final TestData[] colums) {
-			ViewerColumnsDialog dialog = new ViewerColumnsDialog(shell) {
+		private static ViewerColumnsDialog<TestData> getColumnsDialog(Shell shell, final TestData[] colums) {
+			ViewerColumnsDialog<TestData> dialog = new ViewerColumnsDialog<TestData>(shell) {
 
 				@Override
-				protected IColumnInfoProvider getColumnInfoProvider() {
-					return getInfoProvider(colums);
+				protected IColumnInfoProvider<TestData> getColumnInfoProvider() {
+					return getInfoProvider();
 				}
 
 				@Override
@@ -874,73 +855,72 @@
 				}
 
 				@Override
-				protected IColumnUpdater getColumnUpdater() {
-					return getUpdater(colums);
+				protected IColumnUpdater<TestData> getColumnUpdater() {
+					return getUpdater();
 				}
 			};
 			dialog.setColumnsObjs(colums);
 			return dialog;
 		}
 
-		private static IColumnUpdater getUpdater(final TestData[] data) {
-			return new IColumnUpdater() {
+		private static IColumnUpdater<TestData> getUpdater() {
+			return new IColumnUpdater<TestData>() {
 
 				@Override
-				public void setColumnWidth(Object columnObj, int newWidth) {
-					((TestData) columnObj).width = newWidth;
+				public void setColumnWidth(TestData columnObj, int newWidth) {
+					columnObj.width = newWidth;
 				}
 
 				@Override
-				public void setColumnVisible(Object columnObj, boolean visible) {
-					((TestData) columnObj).visibility = visible;
+				public void setColumnVisible(TestData columnObj, boolean visible) {
+					columnObj.visibility = visible;
 				}
 
 				@Override
-				public void setColumnResizable(Object columnObj,
+				public void setColumnResizable(TestData columnObj,
 						boolean resizable) {
 
 				}
 
 				@Override
-				public void setColumnMovable(Object columnObj, boolean movable) {
-					((TestData) columnObj).movable = movable;
+				public void setColumnMovable(TestData columnObj, boolean movable) {
+					columnObj.movable = movable;
 
 				}
 
 				@Override
-				public void setColumnIndex(Object columnObj, int index) {
-					((TestData) columnObj).newIndex = index;
+				public void setColumnIndex(TestData columnObj, int index) {
+					columnObj.newIndex = index;
 				}
 			};
 		}
 
-		private static IColumnInfoProvider getInfoProvider(
-				final TestData[] colData) {
-			return new IColumnInfoProvider() {
+		private static IColumnInfoProvider<TestData> getInfoProvider() {
+			return new IColumnInfoProvider<TestData>() {
 
 				@Override
-				public boolean isColumnVisible(Object columnObj) {
-					return ((TestData) columnObj).visibility;
+				public boolean isColumnVisible(TestData columnObj) {
+					return columnObj.visibility;
 				}
 
 				@Override
-				public boolean isColumnResizable(Object columnObj) {
-					return ((TestData) columnObj).resizable;
+				public boolean isColumnResizable(TestData columnObj) {
+					return columnObj.resizable;
 				}
 
 				@Override
-				public boolean isColumnMovable(Object columnObj) {
-					return ((TestData) columnObj).movable;
+				public boolean isColumnMovable(TestData columnObj) {
+					return columnObj.movable;
 				}
 
 				@Override
-				public int getColumnWidth(Object columnObj) {
-					return ((TestData) columnObj).width;
+				public int getColumnWidth(TestData columnObj) {
+					return columnObj.width;
 				}
 
 				@Override
-				public int getColumnIndex(Object columnObj) {
-					return ((TestData) columnObj).newIndex;
+				public int getColumnIndex(TestData columnObj) {
+					return columnObj.newIndex;
 				}
 			};
 		}
@@ -975,13 +955,11 @@
 
 			int[] widths = new int[cols.length];
 			Arrays.fill(widths, 100);
-			return TestData.generateColumnsData(cols, visibility, resizable,
-					movable, widths);
+			return TestData.generateColumnsData(cols, visibility, resizable, movable, widths);
 		}
 
-		public static TestData[] generateColumnsData(Object[] keys,
-				boolean[] visibility, boolean[] resizable, boolean[] movable,
-				int[] widths) {
+		public static TestData[] generateColumnsData(Object[] keys, boolean[] visibility, boolean[] resizable,
+				boolean[] movable, int[] widths) {
 			TestData[] colData = new TestData[keys.length];
 			int m = 0, n = 0;
 			for (int i = 0; i < colData.length; i++) {
@@ -1009,7 +987,7 @@
 			Display display = new Display();
 			final Shell shell = new Shell(display);
 			shell.setLayout(new FillLayout());
-			ViewerColumnsDialog dialog = getColumnsDialog(shell, genData(100));
+			ViewerColumnsDialog<TestData> dialog = getColumnsDialog(shell, genData(100));
 			dialog.open();
 			shell.dispose();
 			while (!shell.isDisposed()) {
@@ -1018,9 +996,6 @@
 				}
 			}
 			display.dispose();
-
 		}
-
 	}
-
 }
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/FiltersContributionParameters.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/FiltersContributionParameters.java
index b3e0e2a..d3ab1f0 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/FiltersContributionParameters.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/FiltersContributionParameters.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -34,5 +34,5 @@
 	 * @return A map of the name of the parameter value (<code>String</code>)
 	 *         to the actual value of the parameter (<code>String</code>).
 	 */
-	public abstract Map getParameterValues();
+	public abstract Map/*<String, String>*/ getParameterValues();
 }
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/MarkerFieldFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/MarkerFieldFilter.java
index 651977b..990e64e 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/MarkerFieldFilter.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/MarkerFieldFilter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -36,7 +36,7 @@
 	 * @param values
 	 * @see FiltersContributionParameters
 	 */
-	public void initialize(Map values){
+	public void initialize(Map/*<String, String>*/ values) {
 		//Do nothing by default
 	}
 
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/AttributeMarkerGrouping.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/AttributeMarkerGrouping.java
index 435bb34..2ba982c 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/AttributeMarkerGrouping.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/AttributeMarkerGrouping.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
+ * Copyright (c) 2006, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -41,7 +41,7 @@
 	private IConfigurationElement element;
 
 	// A list of groups we are associated with for unloading
-	private Collection groups = new HashSet();
+	private Collection<MarkerGroup> groups = new HashSet<>();
 
 	/**
 	 * Create a new instance of the receiver from element.
@@ -98,19 +98,17 @@
 	 */
 	public void addGroup(MarkerGroup markerGroup) {
 		groups.add(markerGroup);
-
 	}
 
 	/**
 	 * Unmap the receiver from the groups
 	 */
 	public void unmap() {
-		Iterator referencedGroups = groups.iterator();
+		Iterator<MarkerGroup> referencedGroups = groups.iterator();
 		while (referencedGroups.hasNext()) {
-			MarkerGroup group = (MarkerGroup) referencedGroups.next();
+			MarkerGroup group = referencedGroups.next();
 			group.unmap(this);
 		}
-
 	}
 
 }
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ContentGeneratorDescriptor.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ContentGeneratorDescriptor.java
index bd0fd04..4fe059b 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ContentGeneratorDescriptor.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ContentGeneratorDescriptor.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
+ * Copyright (c) 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -39,11 +39,11 @@
 
 	private IConfigurationElement configurationElement;
 	private MarkerField[] allFields;
-	private Collection markerTypes;
+	private Collection<MarkerType> markerTypes;
 	private MarkerField[] initialVisible;
-	private Collection groups;
-	private Collection generatorExtensions = new ArrayList();
-	private Map allTypesTable;
+	private Collection<MarkerGroup> groups;
+	private Collection<IConfigurationElement> generatorExtensions = new ArrayList<>();
+	private Map<String, MarkerType> allTypesTable;
 
 	/**
 	 * Create a new ContentGeneratorDescriptor
@@ -57,15 +57,15 @@
 	/**
 	 * Add the groups defined in the receiver to the collection of groups.
 	 *
-	 * @param groups
+	 * @param groupss
 	 */
-	private void addDefinedGroups(Collection groups) {
+	private void addDefinedGroups(Collection<MarkerGroup> groupss) {
 		// Add the ones in the receiver.
-		addGroupsFrom(configurationElement, groups);
+		addGroupsFrom(configurationElement, groupss);
 		// Add the extensions
-		Iterator extensions = generatorExtensions.iterator();
+		Iterator<IConfigurationElement> extensions = generatorExtensions.iterator();
 		while (extensions.hasNext()) {
-			addGroupsFrom((IConfigurationElement) extensions.next(), groups);
+			addGroupsFrom(extensions.next(), groupss);
 		}
 	}
 
@@ -75,34 +75,30 @@
 	 * @param extensions
 	 *            Collection of {@link IConfigurationElement}
 	 */
-	public void addExtensions(Collection extensions) {
+	public void addExtensions(Collection<IConfigurationElement> extensions) {
 		generatorExtensions = extensions;
-
 	}
 
 	/**
 	 * Add all of the markerGroups defined in element.
 	 *
-	 * @param groups
+	 * @param groupss
 	 */
-	private void addGroupsFrom(IConfigurationElement element, Collection groups) {
-		IConfigurationElement[] groupings = element
-				.getChildren(MarkerSupportRegistry.MARKER_GROUPING);
-
+	private void addGroupsFrom(IConfigurationElement element, Collection<MarkerGroup> groupss) {
+		IConfigurationElement[] groupings = element.getChildren(MarkerSupportRegistry.MARKER_GROUPING);
 		for (int i = 0; i < groupings.length; i++) {
-
-			groups.add(MarkerGroup.createMarkerGroup(groupings[i]));
+			groupss.add(MarkerGroup.createMarkerGroup(groupings[i]));
 		}
 	}
 
 	/**
-	 * Return whether or not all of {@link MarkerTypesModel} arein the
+	 * Return whether or not all of {@link MarkerTypesModel} are in the
 	 * selectedTypes.
 	 *
 	 * @param selectedTypes
 	 * @return boolean
 	 */
-	public boolean allTypesSelected(Collection selectedTypes) {
+	public boolean allTypesSelected(Collection<MarkerType> selectedTypes) {
 		return selectedTypes.containsAll(markerTypes);
 	}
 
@@ -121,9 +117,7 @@
 	 * @return categoryName
 	 */
 	public String getCategoryName() {
-		return configurationElement
-				.getAttribute(ATTRIBUTE_DEFAULT_MARKER_GROUPING);
-
+		return configurationElement.getAttribute(ATTRIBUTE_DEFAULT_MARKER_GROUPING);
 	}
 
 	/**
@@ -134,29 +128,25 @@
 	public IConfigurationElement[] getFilterReferences() {
 		IConfigurationElement[] filterGroups = configurationElement
 				.getChildren(ELEMENT_MARKER_FIELD_CONFIGURATION);
-		if (generatorExtensions.isEmpty())
+		if (generatorExtensions.isEmpty()) {
 			return filterGroups;
-		Iterator extensions = generatorExtensions.iterator();
-		Collection extendedElements = new ArrayList();
+		}
+		Iterator<IConfigurationElement> extensions = generatorExtensions.iterator();
+		Collection<IConfigurationElement> extendedElements = new ArrayList<>();
 		while (extensions.hasNext()) {
-			IConfigurationElement extension = (IConfigurationElement) extensions
-					.next();
-			IConfigurationElement[] extensionFilters = extension
-					.getChildren(ELEMENT_MARKER_FIELD_CONFIGURATION);
+			IConfigurationElement extension = extensions.next();
+			IConfigurationElement[] extensionFilters = extension.getChildren(ELEMENT_MARKER_FIELD_CONFIGURATION);
 			for (int i = 0; i < extensionFilters.length; i++) {
 				extendedElements.add(extensionFilters[i]);
 			}
 		}
 		if (extendedElements.size() > 0) {
-			IConfigurationElement[] allGroups = new IConfigurationElement[filterGroups.length
-					+ extendedElements.size()];
-			System
-					.arraycopy(filterGroups, 0, allGroups, 0,
-							filterGroups.length);
-			Iterator extras = extendedElements.iterator();
+			IConfigurationElement[] allGroups = new IConfigurationElement[filterGroups.length + extendedElements.size()];
+			System.arraycopy(filterGroups, 0, allGroups, 0, filterGroups.length);
+			Iterator<IConfigurationElement> extras = extendedElements.iterator();
 			int index = filterGroups.length;
 			while (extras.hasNext()) {
-				allGroups[index] = (IConfigurationElement) extras.next();
+				allGroups[index] = extras.next();
 			}
 			return allGroups;
 		}
@@ -169,8 +159,7 @@
 	 * @return String
 	 */
 	public String getId() {
-		return configurationElement
-				.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_ID);
+		return configurationElement.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_ID);
 	}
 
 	/**
@@ -187,19 +176,16 @@
 	 *
 	 * @return Collection of {@link MarkerGroup}
 	 */
-	public Collection getMarkerGroups() {
-
+	public Collection<MarkerGroup> getMarkerGroups() {
 		if (groups == null) {
-			groups = new HashSet();
+			groups = new HashSet<>();
 
 			// Add the groups defined in the receiver
 			addDefinedGroups(groups);
 
 			if (getId().equals(MarkerSupportRegistry.PROBLEMS_GENERATOR)) {
 				// Add the groups that reference the receiver.
-				groups.addAll(MarkerSupportRegistry.getInstance()
-						.getMarkerGroups());
-
+				groups.addAll(MarkerSupportRegistry.getInstance().getMarkerGroups());
 			}
 		}
 		return groups;
@@ -210,26 +196,21 @@
 	 *
 	 * @return Collection of {@link MarkerType}
 	 */
-	public Collection getMarkerTypes() {
+	public Collection<MarkerType> getMarkerTypes() {
 		if (markerTypes == null) {
-			markerTypes = new HashSet();
-			IConfigurationElement[] markerTypeElements = configurationElement
-					.getChildren(MarkerSupportRegistry.MARKER_TYPE_REFERENCE);
+			markerTypes = new HashSet<>();
+			IConfigurationElement[] markerTypeElements = configurationElement.getChildren(MarkerSupportRegistry.MARKER_TYPE_REFERENCE);
 			for (int i = 0; i < markerTypeElements.length; i++) {
-				IConfigurationElement configurationElement = markerTypeElements[i];
-				String elementName = configurationElement
-						.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_ID);
-				MarkerType[] types = MarkerTypesModel.getInstance().getType(
-						elementName).getAllSubTypes();
+				IConfigurationElement configurationElt = markerTypeElements[i];
+				String elementName = configurationElt.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_ID);
+				MarkerType[] types = MarkerTypesModel.getInstance().getType(elementName).getAllSubTypes();
 				for (int j = 0; j < types.length; j++) {
 					markerTypes.add(types[j]);
 				}
-				markerTypes.add(MarkerTypesModel.getInstance().getType(
-						elementName));
+				markerTypes.add(MarkerTypesModel.getInstance().getType(elementName));
 			}
 			if (markerTypes.isEmpty()) {
-				MarkerType[] types = MarkerTypesModel.getInstance().getType(
-						IMarker.PROBLEM).getAllSubTypes();
+				MarkerType[] types = MarkerTypesModel.getInstance().getType(IMarker.PROBLEM).getAllSubTypes();
 				for (int i = 0; i < types.length; i++) {
 					markerTypes.add(types[i]);
 				}
@@ -255,9 +236,10 @@
 	 * @return {@link MarkerType} or <code>null</code> if it is not found.
 	 */
 	public MarkerType getType(String typeId) {
-		Map all = getTypesTable();
-		if (all.containsKey(typeId))
-			return (MarkerType) all.get(typeId);
+		Map<String, MarkerType> all = getTypesTable();
+		if (all.containsKey(typeId)) {
+			return all.get(typeId);
+		}
 		return null;
 	}
 
@@ -266,13 +248,13 @@
 	 *
 	 * @return Map of {@link String} to {@link MarkerType}
 	 */
-	public Map getTypesTable() {
+	public Map<String, MarkerType> getTypesTable() {
 		if (allTypesTable == null) {
-			allTypesTable = new HashMap();
+			allTypesTable = new HashMap<>();
 
-			Iterator allIterator = markerTypes.iterator();
+			Iterator<MarkerType> allIterator = markerTypes.iterator();
 			while (allIterator.hasNext()) {
-				MarkerType next = (MarkerType) allIterator.next();
+				MarkerType next = allIterator.next();
 				allTypesTable.put(next.getId(), next);
 			}
 		}
@@ -290,19 +272,18 @@
 	public void initializeFromConfigurationElement(
 			MarkerSupportRegistry registry) {
 
-		IConfigurationElement[] elements = configurationElement
-				.getChildren(MARKER_FIELD_REFERENCE);
-		Collection allFieldList = new ArrayList();
-		Collection initialVisibleList = new ArrayList();
+		IConfigurationElement[] elements = configurationElement.getChildren(MARKER_FIELD_REFERENCE);
+		Collection<MarkerField> allFieldList = new ArrayList<>();
+		Collection<MarkerField> initialVisibleList = new ArrayList<>();
 		for (int i = 0; i < elements.length; i++) {
-			MarkerField field = registry.getField(elements[i]
-					.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_ID));
-			if (field == null)
+			MarkerField field = registry.getField(elements[i].getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_ID));
+			if (field == null) {
 				continue;
+			}
 			allFieldList.add(field);
-			if (!MarkerSupportInternalUtilities.VALUE_FALSE.equals(elements[i]
-					.getAttribute(ATTRIBUTE_VISIBLE)))
+			if (!MarkerSupportInternalUtilities.VALUE_FALSE.equals(elements[i].getAttribute(ATTRIBUTE_VISIBLE))) {
 				initialVisibleList.add(field);
+			}
 		}
 
 		allFields = new MarkerField[allFieldList.size()];
@@ -320,6 +301,5 @@
 	 */
 	public void removeExtension(IConfigurationElement element) {
 		generatorExtensions.remove(element);
-
 	}
 }
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerProperties.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerProperties.java
index a31d1d2..b47fded 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerProperties.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2011 IBM Corporation and others.
+ * Copyright (c) 2000, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -60,12 +60,12 @@
 	/**
 	 * The marker being shown, or <code>null</code> for a new marker
 	 */
-	private IMarker marker = null;
+	private IMarker marker;
 
 	/**
 	 * The resource on which to create a new marker
 	 */
-	private IResource resource = null;
+	private IResource resource;
 
 	/**
 	 * The type of marker to be created
@@ -75,7 +75,7 @@
 	/**
 	 * The initial attributes to use when creating a new marker
 	 */
-	private Map initialAttributes = null;
+	private Map<String, Object> initialAttributes;
 
 	/**
 	 * The text control for the Description field.
@@ -242,7 +242,7 @@
      *
      * @since 3.3
 	 */
-	protected void setInitialAttributes(Map initialAttributes) {
+	protected void setInitialAttributes(Map<String, Object> initialAttributes) {
 		this.initialAttributes = initialAttributes;
 	}
 
@@ -258,9 +258,9 @@
      *
      * @since 3.3
 	 */
-	protected Map getInitialAttributes() {
+	protected Map<String, Object> getInitialAttributes() {
 		if (initialAttributes == null) {
-			initialAttributes = new HashMap();
+			initialAttributes = new HashMap<>();
 		}
 		return initialAttributes;
 	}
@@ -338,8 +338,7 @@
 	 */
 	private void createCreationTimeArea(Composite parent) {
         Label label = new Label(parent, SWT.NONE);
-        label.setText(MarkerMessages
-                .propertiesDialog_creationTime_text);
+        label.setText(MarkerMessages.propertiesDialog_creationTime_text);
 
         creationTime = new Text(parent, SWT.SINGLE | SWT.READ_ONLY);
 	}
@@ -349,10 +348,8 @@
 	 */
 	@Override
 	protected void createButtonsForButtonBar(Composite parent) {
-		createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL,
-				true);
-		createButton(parent, IDialogConstants.CANCEL_ID,
-				IDialogConstants.CANCEL_LABEL, false);
+		createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL,	true);
+		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
 	}
 
 	/**
@@ -390,22 +387,19 @@
 	private void createResourceArea(Composite parent) {
         Label resourceLabel = new Label(parent, SWT.NONE);
 		resourceLabel.setText(MarkerMessages.propertiesDialog_resource_text);
-        resourceText = new Text(parent, SWT.SINGLE | SWT.WRAP
-				| SWT.READ_ONLY | SWT.BORDER);
+        resourceText = new Text(parent, SWT.SINGLE | SWT.WRAP | SWT.READ_ONLY | SWT.BORDER);
         GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
 		resourceText.setLayoutData(gridData);
 
         Label folderLabel = new Label(parent, SWT.NONE);
 		folderLabel.setText(MarkerMessages.propertiesDialog_folder_text);
-        folderText = new Text(parent, SWT.SINGLE | SWT.WRAP | SWT.READ_ONLY
-				| SWT.BORDER);
+        folderText = new Text(parent, SWT.SINGLE | SWT.WRAP | SWT.READ_ONLY	| SWT.BORDER);
 		gridData = new GridData(GridData.FILL_HORIZONTAL);
 		folderText.setLayoutData(gridData);
 
         Label locationLabel = new Label(parent, SWT.NONE);
 		locationLabel.setText(MarkerMessages.propertiesDialog_location_text);
-        locationText = new Text(parent, SWT.SINGLE | SWT.WRAP
-				| SWT.READ_ONLY | SWT.BORDER);
+        locationText = new Text(parent, SWT.SINGLE | SWT.WRAP | SWT.READ_ONLY | SWT.BORDER);
 		gridData = new GridData(GridData.FILL_HORIZONTAL);
 		locationText.setLayoutData(gridData);
 	}
@@ -478,8 +472,7 @@
 
             Object line = initialAttributes.get(IMarker.LINE_NUMBER);
             if (line != null && line instanceof Integer && locationText != null) {
-				locationText.setText(
-                    NLS.bind(MarkerMessages.label_lineNumber, line));
+				locationText.setText(NLS.bind(MarkerMessages.label_lineNumber, line));
 			}
         }
     }
@@ -518,17 +511,16 @@
 	 * needed. Updates the existing marker only if there have been changes.
 	 */
 	private void saveChanges() {
-		Map attrs = getMarkerAttributes();
+		Map<String, Object> attrs = getMarkerAttributes();
 		IUndoableOperation op = null;
 		if (marker == null) {
-			if (resource == null)
+			if (resource == null) {
 				return;
-			op = new CreateMarkersOperation(type, attrs,
-					resource, getCreateOperationTitle());
+			}
+			op = new CreateMarkersOperation(type, attrs, resource, getCreateOperationTitle());
 		} else {
 			if (isDirty()) {
-				op = new UpdateMarkersOperation(marker, attrs,
-						getModifyOperationTitle(), true);
+				op = new UpdateMarkersOperation(marker, attrs, getModifyOperationTitle(), true);
 			}
 		}
 		if (op != null) {
@@ -542,8 +534,9 @@
 					ErrorDialog.openError(
 	                        getShell(),
 	                        MarkerMessages.Error, null, ((CoreException)e.getCause()).getStatus());
-				} else
+				} else {
 					IDEWorkbenchPlugin.log(e.getMessage(), e);
+				}
 			}
 		}
 	}
@@ -552,8 +545,8 @@
 	 * Returns the marker attributes to save back to the marker, based on the
 	 * current dialog fields.
 	 */
-	protected Map getMarkerAttributes() {
-		Map attrs = getInitialAttributes();
+	protected Map<String, Object> getMarkerAttributes() {
+		Map<String, Object> attrs = getInitialAttributes();
 		attrs.put(IMarker.MESSAGE, descriptionText.getText());
 		return attrs;
 	}
@@ -593,11 +586,6 @@
 		this.type = type;
 	}
 
-	/* (non-Javadoc)
-     * @see org.eclipse.jface.window.Dialog#getDialogBoundsSettings()
-     *
-     * @since 3.2
-     */
 	@Override
 	protected IDialogSettings getDialogBoundsSettings() {
         IDialogSettings settings = IDEWorkbenchPlugin.getDefault().getDialogSettings();
@@ -639,10 +627,6 @@
 
 	}
 
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.jface.dialogs.Dialog#isResizable()
-     */
     @Override
 	protected boolean isResizable() {
     	return true;
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskProperties.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskProperties.java
index f148c3b..6937575 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskProperties.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskProperties.java
@@ -57,17 +57,14 @@
     }
 
     /**
-     * @param parentShell
-     */
+	 * @param parentShell
+	 * @param title
+	 */
     public DialogTaskProperties(Shell parentShell, String title) {
         super(parentShell, title);
         setType(IMarker.TASK);
     }
 
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.DialogMarkerProperties#createAttributesArea(org.eclipse.swt.widgets.Composite)
-     */
     @Override
 	protected void createAttributesArea(Composite parent) {
     	createSeperator(parent);
@@ -100,7 +97,7 @@
             @Override
 			public void widgetSelected(SelectionEvent e) {
                 if (getMarker() == null) {
-                    Map initialAttributes = getInitialAttributes();
+					Map<String, Object> initialAttributes = getInitialAttributes();
                     initialAttributes.put(IMarker.PRIORITY, new Integer(
                             getPriorityFromDialog()));
                 }
@@ -117,7 +114,7 @@
             @Override
 			public void widgetSelected(SelectionEvent e) {
                 if (getMarker() == null) {
-                    Map initialAttributes = getInitialAttributes();
+					Map<String, Object> initialAttributes = getInitialAttributes();
                     initialAttributes.put(IMarker.DONE, completedCheckbox.getSelection() ? Boolean.TRUE : Boolean.FALSE);
                 }
                 markDirty();
@@ -128,7 +125,7 @@
     protected boolean getCompleted() {
         IMarker marker = getMarker();
         if (marker == null) {
-            Map attributes = getInitialAttributes();
+			Map<String, Object> attributes = getInitialAttributes();
             Object done = attributes.get(IMarker.DONE);
             return done != null && done instanceof Boolean
                     && ((Boolean) done).booleanValue();
@@ -140,7 +137,7 @@
         IMarker marker = getMarker();
         int priority = IMarker.PRIORITY_NORMAL;
         if (marker == null) {
-            Map attributes = getInitialAttributes();
+			Map<String, Object> attributes = getInitialAttributes();
             Object priorityObj = attributes.get(IMarker.PRIORITY);
             if (priorityObj != null && priorityObj instanceof Integer) {
                 priority = ((Integer) priorityObj).intValue();
@@ -152,10 +149,6 @@
         return priority;
     }
 
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.DialogMarkerProperties#updateEnablement()
-     */
     @Override
 	protected void updateEnablement() {
         super.updateEnablement();
@@ -163,13 +156,9 @@
         completedCheckbox.setEnabled(isEditable());
     }
 
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.DialogMarkerProperties#updateDialogForNewMarker()
-     */
     @Override
 	protected void updateDialogForNewMarker() {
-        Map initialAttributes = getInitialAttributes();
+		Map<String, Object> initialAttributes = getInitialAttributes();
         int priority = getPriority();
         initialAttributes.put(IMarker.PRIORITY, new Integer(priority));
         if (priority == IMarker.PRIORITY_HIGH) {
@@ -185,13 +174,9 @@
         super.updateDialogForNewMarker();
     }
 
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.DialogMarkerProperties#updateDialogFromMarker()
-     */
     @Override
 	protected void updateDialogFromMarker() {
-        Map initialAttributes = getInitialAttributes();
+		Map<String, Object> initialAttributes = getInitialAttributes();
         int priority = getPriority();
         initialAttributes.put(IMarker.PRIORITY, new Integer(priority));
         if (priority == IMarker.PRIORITY_HIGH) {
@@ -219,13 +204,9 @@
         return priority;
     }
 
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.DialogMarkerProperties#getMarkerAttributes()
-     */
     @Override
-	protected Map getMarkerAttributes() {
-        Map attrs = super.getMarkerAttributes();
+	protected Map<String, Object> getMarkerAttributes() {
+		Map<String, Object> attrs = super.getMarkerAttributes();
         attrs.put(IMarker.PRIORITY, new Integer(getPriorityFromDialog()));
         attrs.put(IMarker.DONE, completedCheckbox.getSelection() ? Boolean.TRUE : Boolean.FALSE);
         Object userEditable = attrs.get(IMarker.USER_EDITABLE);
@@ -235,21 +216,11 @@
         return attrs;
     }
 
-	/* (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.DialogMarkerProperties.getModifyOperationTitle()
-     *
-     * @since 3.3
-     */
 	@Override
 	protected String getModifyOperationTitle() {
 		return MarkerMessages.modifyTask_title;
 	}
 
-	/* (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.DialogMarkerProperties.getCreateOperationTitle()
-     *
-     * @since 3.3
-     */
 	@Override
 	protected String getCreateOperationTitle() {
 		return MarkerMessages.DialogTaskProperties_CreateTask;
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerFilter.java
index 47da7b6..1e29aad 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerFilter.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerFilter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -95,9 +95,9 @@
 
 	static final boolean DEFAULT_ACTIVATION_STATUS = true;
 
-	protected List rootTypes = new ArrayList();
+	protected List<MarkerType> rootTypes = new ArrayList<>();
 
-	protected List selectedTypes = new ArrayList();
+	protected List<MarkerType> selectedTypes = new ArrayList<>();
 
 	protected IWorkingSet workingSet;
 
@@ -107,7 +107,7 @@
 
 	private IResource[] focusResource;
 
-	private Set cachedWorkingSet;
+	private Set<String> cachedWorkingSet;
 
 	// The human readable name for the filter
 	private String name;
@@ -121,12 +121,10 @@
 	 *            The types this filter will be applied to
 	 */
 	MarkerFilter(String filterName, String[] rootTypes) {
-
 		name = filterName;
 
 		for (int i = 0; i < rootTypes.length; i++) {
-			MarkerType type = MarkerTypesModel.getInstance().getType(
-					rootTypes[i]);
+			MarkerType type = MarkerTypesModel.getInstance().getType(rootTypes[i]);
 
 			if (!this.rootTypes.contains(type)) {
 				this.rootTypes.add(type);
@@ -141,14 +139,14 @@
 	 * @param types
 	 *            list to be filled in with types
 	 */
-	public void addAllSubTypes(List types) {
+	public void addAllSubTypes(List<MarkerType> types) {
 		for (int i = 0; i < rootTypes.size(); i++) {
-			MarkerType rootType = (MarkerType) rootTypes.get(i);
+			MarkerType rootType = rootTypes.get(i);
 			addAllSubTypes(types, rootType);
 		}
 	}
 
-	private void addAllSubTypes(List types, MarkerType type) {
+	private void addAllSubTypes(List<MarkerType> types, MarkerType type) {
 		if (type == null) {
 			return;
 		}
@@ -192,17 +190,15 @@
 		}
 
 		IAdaptable[] elements = workingSet.getElements();
-		List result = new ArrayList(elements.length);
+		List<IResource> result = new ArrayList<>(elements.length);
 
 		for (int idx = 0; idx < elements.length; idx++) {
 			IResource next = elements[idx].getAdapter(IResource.class);
-
 			if (next != null) {
 				result.add(next);
 			}
 		}
-
-		return (IResource[]) result.toArray(new IResource[result.size()]);
+		return result.toArray(new IResource[result.size()]);
 	}
 
 	/**
@@ -212,38 +208,30 @@
 	 *
 	 * @return Set
 	 */
-	private Set getWorkingSetAsSetOfPaths() {
+	private Set<String> getWorkingSetAsSetOfPaths() {
 		if (cachedWorkingSet == null) {
-			HashSet result = new HashSet();
-
+			HashSet<String> result = new HashSet<>();
 			addResourcesAndChildren(result, getResourcesInWorkingSet());
-
 			cachedWorkingSet = result;
 		}
-
 		return cachedWorkingSet;
 	}
 
 	/***************************************************************************
 	 * Adds the paths of all resources in the given array to the given set.
 	 */
-	private void addResourcesAndChildren(HashSet result, IResource[] resources) {
+	private void addResourcesAndChildren(HashSet<String> result, IResource[] resources) {
 		for (int idx = 0; idx < resources.length; idx++) {
-
 			IResource currentResource = resources[idx];
-
 			result.add(currentResource.getFullPath().toString());
-
 			if (currentResource instanceof IContainer) {
 				IContainer cont = (IContainer) currentResource;
-
 				try {
 					addResourcesAndChildren(result, cont.members());
 				} catch (CoreException e) {
 					// Ignore errors
 				}
 			}
-
 		}
 	}
 
@@ -257,10 +245,8 @@
 		if (resources == null) {
 			return new IProject[0];
 		}
-
-		Collection projects = getProjectsAsCollection(resources);
-
-		return (IProject[]) projects.toArray(new IProject[projects.size()]);
+		Collection<IProject> projects = getProjectsAsCollection(resources);
+		return projects.toArray(new IProject[projects.size()]);
 	}
 
 	/**
@@ -270,8 +256,8 @@
 	 *            collection of IResource or IResourceMapping
 	 * @return Collection of IProject
 	 */
-	static Collection getProjectsAsCollection(Object[] elements) {
-		HashSet projects = new HashSet();
+	static Collection<IProject> getProjectsAsCollection(Object[] elements) {
+		HashSet<IProject> projects = new HashSet<>();
 
 		for (int idx = 0; idx < elements.length; idx++) {
 			if (elements[idx] instanceof IResource) {
@@ -283,9 +269,7 @@
 					projects.add(mappingProjects[i]);
 				}
 			}
-
 		}
-
 		return projects;
 	}
 
@@ -299,14 +283,11 @@
 		if (!isEnabled()) {
 			return true;
 		}
-
-		return selectByType(marker) && selectBySelection(marker)
-				&& selectMarker(marker);
+		return selectByType(marker) && selectBySelection(marker) && selectMarker(marker);
 	}
 
 	private boolean selectByType(ConcreteMarker marker) {
-		return selectedTypes.contains(MarkerTypesModel.getInstance().getType(
-				marker.getType()));
+		return selectedTypes.contains(MarkerTypesModel.getInstance().getType(marker.getType()));
 	}
 
 	/**
@@ -327,23 +308,19 @@
 		}
 
 		IResource resource = marker.getResource();
-
 		if (onResource == ON_WORKING_SET) {
-
 			if (resource != null) {
 				return isEnclosed(resource);
 			}
 
 		} else if (onResource == ON_ANY_IN_SAME_CONTAINER) {
 			IProject project = resource.getProject();
-
 			if (project == null) {
 				return false;
 			}
 
 			for (int i = 0; i < focusResource.length; i++) {
 				IProject selectedProject = focusResource[i].getProject();
-
 				if (selectedProject == null) {
 					continue;
 				}
@@ -361,17 +338,14 @@
 		} else if (onResource == ON_SELECTED_AND_CHILDREN) {
 			for (int i = 0; i < focusResource.length; i++) {
 				IResource parentResource = resource;
-
 				while (parentResource != null) {
 					if (parentResource.equals(focusResource[i])) {
 						return true;
 					}
-
 					parentResource = parentResource.getParent();
 				}
 			}
 		}
-
 		return false;
 	}
 
@@ -394,8 +368,7 @@
 		if (workingSet.isEmpty()) {
 			return true; // Everything is in an empty working set
 		}
-		Set workingSetPaths = getWorkingSetAsSetOfPaths();
-
+		Set<String> workingSetPaths = getWorkingSetAsSetOfPaths();
 		return workingSetPaths.contains(element.getFullPath().toString());
 	}
 
@@ -472,7 +445,7 @@
 	 *
 	 * @return the root marker types.
 	 */
-	public List getRootTypes() {
+	public List<MarkerType> getRootTypes() {
 		return rootTypes;
 	}
 
@@ -482,7 +455,7 @@
 	 *
 	 * @return the selected marker types to be displayed.
 	 */
-	public List getSelectedTypes() {
+	public List<MarkerType> getSelectedTypes() {
 		return selectedTypes;
 	}
 
@@ -539,7 +512,6 @@
 	public final void restoreState(IMemento memento) {
 		resetState();
 		restoreFilterSettings(memento);
-
 	}
 
 	/**
@@ -549,17 +521,13 @@
 	 * @param settings
 	 */
 	public void restoreFilterSettings(IDialogSettings settings) {
-
 		resetState();
-
 		String setting = settings.get(TAG_ENABLED);
-
 		if (setting != null) {
 			enabled = Boolean.valueOf(setting).booleanValue();
 		}
 
 		setting = settings.get(TAG_ON_RESOURCE);
-
 		if (setting != null) {
 			try {
 				onResource = Integer.parseInt(setting);
@@ -575,11 +543,10 @@
 			selectedTypes.clear();
 
 			// get the complete list of types
-			List newTypes = new ArrayList();
+			List<MarkerType> newTypes = new ArrayList<>();
 			addAllSubTypes(newTypes);
 
 			StringTokenizer stringTokenizer = new StringTokenizer(setting);
-
 			while (stringTokenizer.hasMoreTokens()) {
 				String id = stringTokenizer.nextToken(TAG_TYPES_DELIMITER);
 				String status = null;
@@ -587,14 +554,12 @@
 					status = stringTokenizer.nextToken(TAG_TYPES_DELIMITER);
 				}
 
-				MarkerType markerType = MarkerTypesModel.getInstance().getType(
-						id);
+				MarkerType markerType = MarkerTypesModel.getInstance().getType(id);
 				if (markerType != null) {
 					newTypes.remove(markerType);
 
 					// add the type to the selected list
-					if (!SELECTED_FALSE.equals(status)
-							&& !selectedTypes.contains(markerType)) {
+					if (!SELECTED_FALSE.equals(status) && !selectedTypes.contains(markerType)) {
 						selectedTypes.add(markerType);
 					}
 				}
@@ -611,18 +576,14 @@
 			// so check for the old selection attribute.
 			// format is just "id:"
 			setting = settings.get(TAG_SELECTED_TYPES);
-
 			if (setting != null) {
 				generateSelectedTypes(setting);
 			}
-
 		}
 
 		setting = settings.get(TAG_WORKING_SET);
-
 		if (setting != null) {
-			setWorkingSet(PlatformUI.getWorkbench().getWorkingSetManager()
-					.getWorkingSet(setting));
+			setWorkingSet(PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSet(setting));
 		}
 	}
 
@@ -633,12 +594,10 @@
 	 */
 	void generateSelectedTypes(String selectedTypesValue) {
 		selectedTypes.clear();
-		StringTokenizer stringTokenizer = new StringTokenizer(
-				selectedTypesValue);
+		StringTokenizer stringTokenizer = new StringTokenizer(selectedTypesValue);
 
 		while (stringTokenizer.hasMoreTokens()) {
-			MarkerType markerType = getMarkerType(stringTokenizer
-					.nextToken(TAG_TYPES_DELIMITER));
+			MarkerType markerType = getMarkerType(stringTokenizer.nextToken(TAG_TYPES_DELIMITER));
 
 			if (markerType != null && !selectedTypes.contains(markerType)) {
 				selectedTypes.add(markerType);
@@ -669,7 +628,6 @@
 		}
 
 		Integer resourceSetting = memento.getInteger(TAG_ON_RESOURCE);
-
 		if (resourceSetting != null) {
 			onResource = resourceSetting.intValue();
 		}
@@ -677,12 +635,11 @@
 		// new selection list attribute
 		// format is "id:(true|false):"
 		setting = memento.getString(TAG_SELECTION_STATUS);
-
 		if (setting != null) {
 			selectedTypes.clear();
 
 			// get the complete list of types
-			List newTypes = new ArrayList();
+			List<MarkerType> newTypes = new ArrayList<>();
 			addAllSubTypes(newTypes);
 
 			StringTokenizer stringTokenizer = new StringTokenizer(setting);
@@ -718,18 +675,14 @@
 			// so check for the old selection attribute.
 			// format is just "id:"
 			setting = memento.getString(TAG_SELECTED_TYPES);
-
 			if (setting != null) {
 				generateSelectedTypes(setting);
 			}
-
 		}
 
 		setting = memento.getString(TAG_WORKING_SET);
-
 		if (setting != null) {
-			setWorkingSet(PlatformUI.getWorkbench().getWorkingSetManager()
-					.getWorkingSet(setting));
+			setWorkingSet(PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSet(setting));
 		}
 	}
 
@@ -739,16 +692,15 @@
 	 * @param settings
 	 */
 	public void saveFilterSettings(IMemento settings) {
-
 		settings.putString(TAG_ENABLED, String.valueOf(enabled));
 		settings.putInteger(TAG_ON_RESOURCE, onResource);
 
 		String markerTypeIds = ""; //$NON-NLS-1$
 
-		List includedTypes = new ArrayList();
+		List<MarkerType> includedTypes = new ArrayList<>();
 		addAllSubTypes(includedTypes);
 		for (int i = 0; i < includedTypes.size(); i++) {
-			MarkerType markerType = (MarkerType) includedTypes.get(i);
+			MarkerType markerType = includedTypes.get(i);
 			markerTypeIds += markerType.getId() + TAG_TYPES_DELIMITER;
 			if (selectedTypes.contains(markerType)) {
 				markerTypeIds += SELECTED_TRUE + TAG_TYPES_DELIMITER;
@@ -758,7 +710,6 @@
 		}
 
 		settings.putString(TAG_SELECTION_STATUS, markerTypeIds);
-
 		if (workingSet != null) {
 			settings.putString(TAG_WORKING_SET, workingSet.getName());
 		}
@@ -789,7 +740,7 @@
 	 * @param selectedTypes
 	 *            List of MarkerType.
 	 */
-	public void setSelectedTypes(List selectedTypes) {
+	public void setSelectedTypes(List<MarkerType> selectedTypes) {
 		this.selectedTypes = selectedTypes;
 	}
 
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerGroup.java
index 1a0d68d..9ce04f6 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerGroup.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerGroup.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
+ * Copyright (c) 2006, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -43,10 +43,9 @@
 	 * @return MarkerGroup
 	 */
 	public static MarkerGroup createMarkerGroup(IConfigurationElement element) {
-
-		if (element.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_ID).equals(
-				Util.TYPE_MARKER_GROUPING_ID))
+		if (element.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_ID).equals(Util.TYPE_MARKER_GROUPING_ID)) {
 			return new TypeMarkerGroup(element.getAttribute(MarkerSupportRegistry.LABEL));
+		}
 		return new MarkerGroup(element);
 	}
 
@@ -66,36 +65,25 @@
 		 * @param attributeName
 		 * @param value
 		 */
-		AttributeMapping(MarkerGroupingEntry entry, String attributeName,
-				String value, AttributeMarkerGrouping grouping) {
+		AttributeMapping(MarkerGroupingEntry entry, String attributeName, String value, AttributeMarkerGrouping grouping) {
 			super(entry);
 			attribute = attributeName;
 			attributeValue = value;
 			this.grouping = grouping;
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.views.markers.internal.FieldMarkerGroup.EntryMapping#hasAttributes()
-		 */
 		@Override
 		public boolean hasAttributes() {
 			return true;
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.views.markers.internal.FieldMarkerGroup.EntryMapping#testAttribute(org.eclipse.ui.views.markers.internal.ConcreteMarker)
-		 */
 		@Override
 		public MarkerGroupingEntry testAttribute(IMarker marker) {
 			Object value;
 
-			if (!marker.exists())
-				return null;// If the marker was deleted during the update drop
-			// it
+			if (!marker.exists()) {
+				return null;// If the marker was deleted during the update drop it
+			}
 
 			try {
 				value = marker.getAttribute(attribute);
@@ -154,129 +142,67 @@
 			markerGroup = group;
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.views.markers.internal.IField#compare(java.lang.Object,
-		 *      java.lang.Object)
-		 */
 		@Override
 		public int compare(Object obj1, Object obj2) {
-
-			MarkerGroupingEntry entry1 = getMapping(((MarkerNode) obj1)
-					.getConcreteRepresentative());
-			MarkerGroupingEntry entry2 = getMapping(((MarkerNode) obj2)
-					.getConcreteRepresentative());
+			MarkerGroupingEntry entry1 = getMapping(((MarkerNode) obj1).getConcreteRepresentative());
+			MarkerGroupingEntry entry2 = getMapping(((MarkerNode) obj2).getConcreteRepresentative());
 			return entry2.getPriority() - entry1.getPriority();
-
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.views.markers.internal.IField#getColumnHeaderImage()
-		 */
 		@Override
 		public Image getColumnHeaderImage() {
 			return null;
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.views.markers.internal.IField#getColumnHeaderText()
-		 */
 		@Override
 		public String getColumnHeaderText() {
 			return markerGroup.getTitle();
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.views.markers.internal.IField#getDefaultDirection()
-		 */
 		@Override
 		public int getDefaultDirection() {
 			return TableComparator.ASCENDING;
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.views.markers.internal.IField#getDescription()
-		 */
 		@Override
 		public String getDescription() {
 			return markerGroup.getTitle();
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.views.markers.internal.IField#getDescriptionImage()
-		 */
 		@Override
 		public Image getDescriptionImage() {
 			return null;
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.views.markers.internal.IField#getImage(java.lang.Object)
-		 */
 		@Override
 		public Image getImage(Object obj) {
 			return null;
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.views.markers.internal.IField#getPreferredWidth()
-		 */
 		@Override
 		public int getPreferredWidth() {
 			return 75;
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.views.markers.internal.IField#getValue(java.lang.Object)
-		 */
 		@Override
 		public String getValue(Object obj) {
 			MarkerNode node = (MarkerNode) obj;
 
 			if (node.isConcrete()) {
-				MarkerGroupingEntry groupingEntry = markerGroup
-						.getMapping((ConcreteMarker) node);
+				MarkerGroupingEntry groupingEntry = markerGroup.getMapping((ConcreteMarker) node);
 				return groupingEntry.getLabel();
 			}
 			return node.getDescription();
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.views.markers.internal.IField#isShowing()
-		 */
 		@Override
 		public boolean isShowing() {
 			return this.showing;
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.views.markers.internal.IField#setShowing(boolean)
-		 */
 		@Override
 		public void setShowing(boolean showing) {
 			this.showing = showing;
-
 		}
 
 	}
@@ -292,36 +218,25 @@
 		GroupMarkerField() {
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.internal.provisional.views.markers.api.MarkerField#getValue(org.eclipse.ui.internal.provisional.views.markers.api.MarkerItem)
-		 */
 		@Override
 		public String getValue(MarkerItem item) {
-
 			return MarkerSupportInternalUtilities.getGroupValue(MarkerGroup.this, item);
-
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.internal.provisional.views.markers.api.MarkerField#compare(org.eclipse.ui.internal.provisional.views.markers.api.MarkerItem,
-		 *      org.eclipse.ui.internal.provisional.views.markers.api.MarkerItem)
-		 */
 		@Override
 		public int compare(MarkerItem item1, MarkerItem item2) {
 			// Elements with markers to the top are higher values
 			if (item1.getMarker() == null) {
-				if (item2.getMarker() == null)
+				if (item2.getMarker() == null) {
 					return 0;
+				}
 				return 1;
 			}
 
 			// Elements with markers to the top are higher values
-			if (item2.getMarker() == null)
+			if (item2.getMarker() == null) {
 				return -1;
+			}
 
 			try {
 				return (findGroupValue(item2.getMarker().getType(),
@@ -333,14 +248,8 @@
 				Policy.handle(exception);
 				return 0;
 			}
-
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.internal.provisional.views.markers.api.MarkerField#getName()
-		 */
 		@Override
 		public String getName() {
 			return MarkerGroup.this.getTitle();
@@ -355,7 +264,7 @@
 
 	protected MarkerField markerField;
 
-	private Map typesToMappings = new HashMap();
+	private Map<String, Collection<EntryMapping>> typesToMappings = new HashMap<>();
 
 	private IConfigurationElement configurationElement;
 
@@ -368,8 +277,9 @@
 	 */
 	protected MarkerGroup(IConfigurationElement element) {
 		configurationElement = element;
-		if (element != null) // Is this an internal one?
+		if (element != null) {
 			id = element.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_ID);
+		}
 		createFields();
 		processEntries();
 	}
@@ -378,9 +288,9 @@
 	 * Process the markerContentEntries for the reciever.
 	 */
 	private void processEntries() {
-
-		if(configurationElement == null)
+		if(configurationElement == null) {
 			return;
+		}
 
 		IConfigurationElement[] markerEntryElements = configurationElement
 				.getChildren(MarkerSupportRegistry.MARKER_GROUPING_ENTRY);
@@ -388,23 +298,20 @@
 		IConfigurationElement[] attributeGroupingElements = configurationElement
 				.getChildren(MarkerSupportRegistry.MARKER_ATTRIBUTE_GROUPING);
 
-		Map idsToEntries = new HashMap();
+		Map<String, MarkerGroupingEntry> idsToEntries = new HashMap<>();
 		for (int i = 0; i < markerEntryElements.length; i++) {
-			MarkerGroupingEntry entry = new MarkerGroupingEntry(
-					markerEntryElements[i]);
+			MarkerGroupingEntry entry = new MarkerGroupingEntry(markerEntryElements[i]);
 			entry.setGroup(this);
 			idsToEntries.put(entry.getId(), entry);
 		}
 
 		for (int i = 0; i < attributeGroupingElements.length; i++) {
-			AttributeMarkerGrouping attributeGrouping = new AttributeMarkerGrouping(
-					attributeGroupingElements[i]);
+			AttributeMarkerGrouping attributeGrouping = new AttributeMarkerGrouping(attributeGroupingElements[i]);
 
 			String defaultEntryId = attributeGrouping.getDefaultGroupingEntry();
 			if (defaultEntryId != null) {
 				if (idsToEntries.containsKey(defaultEntryId)) {
-					MarkerGroupingEntry entry = (MarkerGroupingEntry) idsToEntries
-							.get(defaultEntryId);
+					MarkerGroupingEntry entry = idsToEntries.get(defaultEntryId);
 					entry.setAsDefault(attributeGrouping.getMarkerType());
 				} else {
 					IDEWorkbenchPlugin.log(NLS.bind(
@@ -416,12 +323,10 @@
 					.getChildren(MarkerSupportRegistry.ATTRIBUTE_MAPPING);
 
 			for (int mappingIndex = 0; mappingIndex < mappings.length; mappingIndex++) {
-				String entryId = mappings[mappingIndex]
-						.getAttribute(MarkerSupportRegistry.MARKER_GROUPING_ENTRY);
+				String entryId = mappings[mappingIndex].getAttribute(MarkerSupportRegistry.MARKER_GROUPING_ENTRY);
 
 				if (idsToEntries.containsKey(entryId)) {
-					MarkerGroupingEntry entry = (MarkerGroupingEntry) idsToEntries
-							.get(entryId);
+					MarkerGroupingEntry entry = idsToEntries.get(entryId);
 					entry.getMarkerGroup().mapAttribute(
 							attributeGrouping,
 							entry,
@@ -432,10 +337,8 @@
 							"Reference to invaild markerGroupingEntry {0}", //$NON-NLS-1$
 							defaultEntryId));
 				}
-
 			}
 		}
-
 	}
 
 	/**
@@ -453,22 +356,18 @@
 	 * @param entry
 	 */
 	private void addEntry(String markerType, EntryMapping entry) {
-
 		MarkerType[] allDerived = getMarkerTypes(markerType);
-
 		for (int i = 0; i < allDerived.length; i++) {
-			Collection entries = new HashSet();
+			Collection<EntryMapping> entries = new HashSet<>();
 			MarkerType type = allDerived[i];
 			if (typesToMappings.containsKey(type.getId())) {
-				entries = (Collection) typesToMappings.get(markerType);
+				entries = typesToMappings.get(markerType);
 			} else {
-				entries = new HashSet();
+				entries = new HashSet<>();
 			}
-
 			entries.add(entry);
 			typesToMappings.put(type.getId(), entries);
 		}
-
 	}
 
 	/**
@@ -479,12 +378,9 @@
 	 * @return String or <code>null</code>
 	 */
 	private MarkerGroupingEntry findGroupValue(ConcreteMarker concreteMarker) {
-
 		String type = concreteMarker.getType();
 		IMarker marker = concreteMarker.getMarker();
-
 		return findGroupValue(type, marker);
-
 	}
 
 	/**
@@ -497,10 +393,9 @@
 	public MarkerGroupingEntry findGroupValue(String type, IMarker marker) {
 		if (typesToMappings.containsKey(type)) {
 			EntryMapping defaultMapping = null;
-			Iterator mappings = ((Collection) typesToMappings.get(type))
-					.iterator();
+			Iterator<EntryMapping> mappings = typesToMappings.get(type).iterator();
 			while (mappings.hasNext()) {
-				EntryMapping mapping = (EntryMapping) mappings.next();
+				EntryMapping mapping = mappings.next();
 				if (mapping.hasAttributes()) {
 					MarkerGroupingEntry entry = mapping.testAttribute(marker);
 					if (entry != null) {
@@ -514,9 +409,7 @@
 			if (defaultMapping != null) {
 				return defaultMapping.groupingEntry;
 			}
-
 		}
-
 		return undefinedEntry;
 	}
 
@@ -545,7 +438,6 @@
 	 * @return MarkerGroupingEntry
 	 */
 	private MarkerGroupingEntry getMapping(ConcreteMarker marker) {
-
 		if (marker.getGroup() == null) {
 			marker.setGroup(findGroupValue(marker));
 		}
@@ -569,7 +461,7 @@
 	 */
 	private MarkerType[] getMarkerTypes(String markerType) {
 		MarkerTypesModel model = MarkerTypesModel.getInstance();
-		Collection types = new HashSet();
+		Collection<MarkerType> types = new HashSet<>();
 
 		MarkerType type = model.getType(markerType);
 		if (type != null) {
@@ -611,7 +503,6 @@
 				attributeGrouping.getAttribute(), attributeValue,
 				attributeGrouping));
 		attributeGrouping.addGroup(this);
-
 	}
 
 	/**
@@ -620,13 +511,13 @@
 	 * @param entry
 	 */
 	public void remove(MarkerGroupingEntry entry) {
-		Iterator entries = typesToMappings.values().iterator();
-		Collection removeCollection = new ArrayList();
+		Iterator<Collection<EntryMapping>> entries = typesToMappings.values().iterator();
+		Collection<EntryMapping> removeCollection = new ArrayList<>();
 		while (entries.hasNext()) {
-			Collection mappings = (Collection) entries.next();
-			Iterator mappingsIterator = mappings.iterator();
+			Collection<EntryMapping> mappings = entries.next();
+			Iterator<EntryMapping> mappingsIterator = mappings.iterator();
 			while (mappingsIterator.hasNext()) {
-				EntryMapping next = (EntryMapping) mappingsIterator.next();
+				EntryMapping next = mappingsIterator.next();
 				if (next.groupingEntry.equals(entry)) {
 					removeCollection.add(next);
 				}
@@ -635,7 +526,6 @@
 			mappings.removeAll(removeCollection);
 			removeCollection.clear();
 		}
-
 	}
 
 	/**
@@ -647,7 +537,6 @@
 
 	public void setAsDefault(String markerType, MarkerGroupingEntry entry) {
 		addEntry(markerType, new EntryMapping(entry));
-
 	}
 
 	/**
@@ -657,32 +546,32 @@
 	 */
 	public void unmap(AttributeMarkerGrouping attributeMarkerGrouping) {
 		String type = attributeMarkerGrouping.getMarkerType();
-		Collection removed = new ArrayList();
-		Collection entries = (Collection) typesToMappings.get(type);
-		Iterator mappings = entries.iterator();
+		Collection<EntryMapping> removed = new ArrayList<>();
+		Collection<EntryMapping> entries = typesToMappings.get(type);
+		Iterator<EntryMapping> mappings = entries.iterator();
 		while (mappings.hasNext()) {
-			Object mapping = mappings.next();
+			EntryMapping mapping = mappings.next();
 			if (mapping instanceof AttributeMapping
 					&& (((AttributeMapping) mapping).grouping == attributeMarkerGrouping)) {
 				removed.add(mapping);
 			}
 		}
 		entries.removeAll(removed);
-		if (entries.size() == 0)
+		if (entries.size() == 0) {
 			typesToMappings.remove(type);
-
+		}
 	}
+
 	/**
 	 * Returns the comparator that can be used for
 	 * sorting the MarkerGroupingEntry(s) in the group.
 	 * @return Comparator
 	 */
-	public Comparator getEntriesComparator(){
-		return new Comparator() {
+	public Comparator<MarkerGroupingEntry> getEntriesComparator() {
+		return new Comparator<MarkerGroupingEntry>() {
 			@Override
-			public int compare(Object o1, Object o2) {
-				return -(((MarkerGroupingEntry) o1).getPriority()
-						- ((MarkerGroupingEntry) o2).getPriority());
+			public int compare(MarkerGroupingEntry o1, MarkerGroupingEntry o2) {
+				return -(o1.getPriority() - o2.getPriority());
 			}
 		};
 	}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerSupportRegistry.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerSupportRegistry.java
index a8c7c13..96a901e 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerSupportRegistry.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerSupportRegistry.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation and others.
+ * Copyright (c) 2005, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -180,48 +180,43 @@
 		return singleton;
 	}
 
-	private Map registeredFilters = new HashMap();
+	private Map<String, ProblemFilter> registeredFilters = new HashMap<>();
 
-	private Map markerGroups = new HashMap();
+	private Map<String, MarkerGroup> markerGroups = new HashMap<>();
 
-	private HashMap categories = new HashMap();
+	private Map<String, String> categories = new HashMap<>();
 
-	private HashMap hierarchyOrders = new HashMap();
+	private Map<String, TableComparator> hierarchyOrders = new HashMap<>();
 
 	private MarkerType rootType;
 
-	private HashMap generators = new HashMap();
+	private Map<String, ContentGeneratorDescriptor> generators = new HashMap<>();
 
-	private HashMap fields = new HashMap();
+	private Map<String, MarkerField> fields = new HashMap<>();
 
 	/**
 	 * Create a new instance of the receiver and read the registry.
 	 */
 	private MarkerSupportRegistry() {
-		IExtensionTracker tracker = PlatformUI.getWorkbench()
-				.getExtensionTracker();
-		IExtensionPoint point = Platform.getExtensionRegistry()
-				.getExtensionPoint(IDEWorkbenchPlugin.IDE_WORKBENCH,
-						MARKER_SUPPORT);
+		IExtensionTracker tracker = PlatformUI.getWorkbench().getExtensionTracker();
+		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(IDEWorkbenchPlugin.IDE_WORKBENCH,
+				MARKER_SUPPORT);
 		if (point == null) {
 			return;
 		}
 		IExtension[] extensions = point.getExtensions();
 		// initial population
-		Map groupingEntries = new HashMap();
-		Map generatorExtensions = new HashMap();
-		Map entryIDsToEntries = new HashMap();
-		Set attributeMappings = new HashSet();
+		Map<String, Collection<MarkerGroupingEntry>> groupingEntries = new HashMap<>();
+		Map<String, Collection<IConfigurationElement>> generatorExtensions = new HashMap<>();
+		Map<String, MarkerGroupingEntry> entryIDsToEntries = new HashMap<>();
+		Set<AttributeMarkerGrouping> attributeMappings = new HashSet<>();
 		for (int i = 0; i < extensions.length; i++) {
 			IExtension extension = extensions[i];
 			processExtension(tracker, extension, groupingEntries,
 					entryIDsToEntries, attributeMappings, generatorExtensions);
 		}
-		postProcessExtensions(groupingEntries, entryIDsToEntries,
-				attributeMappings, generatorExtensions);
-		tracker.registerHandler(this, ExtensionTracker
-				.createExtensionPointFilter(point));
-
+		postProcessExtensions(groupingEntries, entryIDsToEntries, attributeMappings, generatorExtensions);
+		tracker.registerHandler(this, ExtensionTracker.createExtensionPointFilter(point));
 	}
 
 	/**
@@ -242,9 +237,11 @@
 	 *            the markerContentGenerator extensions keyed on group id
 	 * @see #postProcessExtensions(Map, Map, Collection, Map)
 	 */
-	private void processExtension(IExtensionTracker tracker,
-			IExtension extension, Map groupIDsToEntries, Map entryIDsToEntries,
-			Collection attributeMappings, Map generatorExtensions) {
+	private void processExtension(IExtensionTracker tracker, IExtension extension,
+			Map<String, Collection<MarkerGroupingEntry>> groupIDsToEntries,
+			Map<String, MarkerGroupingEntry> entryIDsToEntries,
+			Collection<AttributeMarkerGrouping> attributeMappings,
+			Map<String, Collection<IConfigurationElement>> generatorExtensions) {
 		IConfigurationElement[] elements = extension.getConfigurationElements();
 
 		for (int j = 0; j < elements.length; j++) {
@@ -252,102 +249,75 @@
 			if (element.getName().equals(PROBLEM_FILTER)) {
 				ProblemFilter filter = newFilter(element);
 				registeredFilters.put(filter.getId(), filter);
-				tracker.registerObject(extension, filter,
-						IExtensionTracker.REF_STRONG);
-
+				tracker.registerObject(extension, filter, IExtensionTracker.REF_STRONG);
 				continue;
 			}
+
 			if (element.getName().equals(MARKER_GROUPING)) {
-
 				MarkerGroup group = MarkerGroup.createMarkerGroup(element);
-
 				markerGroups.put(group.getId(), group);
-				tracker.registerObject(extension, group,
-						IExtensionTracker.REF_STRONG);
+				tracker.registerObject(extension, group, IExtensionTracker.REF_STRONG);
 				continue;
 			}
 
 			if (element.getName().equals(MARKER_GROUPING_ENTRY)) {
-
 				MarkerGroupingEntry entry = new MarkerGroupingEntry(element);
-
 				String groupName = element.getAttribute(MARKER_GROUPING);
-
-				Collection entries;
+				Collection<MarkerGroupingEntry> entries;
 				if (groupIDsToEntries.containsKey(groupName)) {
-					entries = (Collection) groupIDsToEntries.get(groupName);
+					entries = groupIDsToEntries.get(groupName);
 				} else {
-					entries = new HashSet();
+					entries = new HashSet<>();
 				}
 
 				entries.add(entry);
 				groupIDsToEntries.put(groupName, entries);
 				entryIDsToEntries.put(entry.getId(), entry);
 
-				tracker.registerObject(extension, entry,
-						IExtensionTracker.REF_STRONG);
+				tracker.registerObject(extension, entry, IExtensionTracker.REF_STRONG);
 				continue;
 			}
 
 			if (element.getName().equals(MARKER_ATTRIBUTE_GROUPING)) {
-
-				AttributeMarkerGrouping grouping = new AttributeMarkerGrouping(
-						element);
-
+				AttributeMarkerGrouping grouping = new AttributeMarkerGrouping(element);
 				attributeMappings.add(grouping);
-
-				tracker.registerObject(extension, grouping,
-						IExtensionTracker.REF_STRONG);
+				tracker.registerObject(extension, grouping, IExtensionTracker.REF_STRONG);
 				continue;
 			}
 
 			if (element.getName().equals(MARKER_CATEGORY)) {
-
 				String[] markerTypes = getMarkerTypes(element);
-				String categoryName = element
-						.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_NAME);
-
+				String categoryName = element.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_NAME);
 				for (int i = 0; i < markerTypes.length; i++) {
 					categories.put(markerTypes[i], categoryName);
-
 				}
-				tracker.registerObject(extension, categoryName,
-						IExtensionTracker.REF_STRONG);
+				tracker.registerObject(extension, categoryName, IExtensionTracker.REF_STRONG);
 				continue;
 			}
 
 			if (element.getName().equals(MARKER_CONTENT_GENERATOR_EXTENSION)) {
-
-				String generatorName = element
-						.getAttribute(ATTRIBUTE_GENERATOR_ID);
-
-				Collection extensionCollection;
-				if(generatorExtensions.containsKey(generatorName))
-					extensionCollection = (Collection) generatorExtensions.get(generatorName);
-				else
-					extensionCollection = new ArrayList();
+				String generatorName = element.getAttribute(ATTRIBUTE_GENERATOR_ID);
+				Collection<IConfigurationElement> extensionCollection;
+				if(generatorExtensions.containsKey(generatorName)) {
+					extensionCollection = generatorExtensions.get(generatorName);
+				} else {
+					extensionCollection = new ArrayList<>();
+				}
 
 				extensionCollection.add(element);
 				generatorExtensions.put(generatorName, extensionCollection);
-				tracker.registerObject(extension, element,
-						IExtensionTracker.REF_STRONG);
+				tracker.registerObject(extension, element, IExtensionTracker.REF_STRONG);
 				continue;
 			}
 
 			if (element.getName().equals(MARKER_CONTENT_GENERATOR)) {
-
-				ContentGeneratorDescriptor generatorDesc = new ContentGeneratorDescriptor(
-						element);
-
+				ContentGeneratorDescriptor generatorDesc = new ContentGeneratorDescriptor(element);
 				generators.put(generatorDesc.getId(), generatorDesc);
-
-				tracker.registerObject(extension, generatorDesc,
-						IExtensionTracker.REF_STRONG);
+				tracker.registerObject(extension, generatorDesc, IExtensionTracker.REF_STRONG);
 				continue;
 			}
 
 			if (element.getName().equals(MARKER_FIELD)) {
-
 				processMarkerField(tracker, extension, element);
 				continue;
 			}
@@ -361,20 +331,18 @@
 	 * @param extension
 	 * @param element
 	 */
-	private void processMarkerField(IExtensionTracker tracker,
-			IExtension extension, IConfigurationElement element) {
+	private void processMarkerField(IExtensionTracker tracker, IExtension extension, IConfigurationElement element) {
 		MarkerField field = null;
 		try {
-			field = (MarkerField) IDEWorkbenchPlugin.createExtension(element,
-					ATTRIBUTE_CLASS);
+			field = (MarkerField) IDEWorkbenchPlugin.createExtension(element, ATTRIBUTE_CLASS);
 			field.setConfigurationElement(element);
 		} catch (CoreException e) {
 			Policy.handle(e);
 		}
 
-		if (field != null)
-			fields.put(element
-					.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_ID), field);
+		if (field != null) {
+			fields.put(element.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_ID), field);
+		}
 		tracker.registerObject(extension, field, IExtensionTracker.REF_STRONG);
 	}
 
@@ -391,9 +359,9 @@
 	 * @param generatorExtensions
 	 *            map of generator id to generator descriptors
 	 */
-	private void postProcessExtensions(Map groupIDsToEntries,
-			Map entryIDsToEntries, Collection attributeMappings,
-			Map generatorExtensions) {
+	private void postProcessExtensions(Map<String, Collection<MarkerGroupingEntry>> groupIDsToEntries,
+			Map<String, MarkerGroupingEntry> entryIDsToEntries, Collection<AttributeMarkerGrouping> attributeMappings,
+			Map<String, Collection<IConfigurationElement>> generatorExtensions) {
 		processGroupingEntries(groupIDsToEntries);
 		processAttributeMappings(entryIDsToEntries, attributeMappings);
 		postProcessContentGenerators(generatorExtensions);
@@ -405,15 +373,14 @@
 	 * @param generatorExtensions
 	 *            the extensions to the generators,
 	 */
-	private void postProcessContentGenerators(Map generatorExtensions) {
-		Iterator generatorIterator = generators.values().iterator();
+	private void postProcessContentGenerators(Map<String, Collection<IConfigurationElement>> generatorExtensions) {
+		Iterator<ContentGeneratorDescriptor> generatorIterator = generators.values().iterator();
 		while (generatorIterator.hasNext()) {
-			ContentGeneratorDescriptor generatorDesc = (ContentGeneratorDescriptor) generatorIterator
-					.next();
+			ContentGeneratorDescriptor generatorDesc = generatorIterator.next();
 			generatorDesc.initializeFromConfigurationElement(this);
-			if (generatorExtensions.containsKey(generatorDesc.getId()))
-				generatorDesc.addExtensions((Collection) generatorExtensions
-						.get(generatorDesc.getId()));
+			if (generatorExtensions.containsKey(generatorDesc.getId())) {
+				generatorDesc.addExtensions(generatorExtensions.get(generatorDesc.getId()));
+			}
 		}
 
 	}
@@ -423,29 +390,21 @@
 	 *
 	 * @param groupingEntries
 	 */
-	private void processGroupingEntries(Map groupingEntries) {
-		Iterator entriesIterator = groupingEntries.keySet().iterator();
+	private void processGroupingEntries(Map<String, Collection<MarkerGroupingEntry>> groupingEntries) {
+		Iterator<String> entriesIterator = groupingEntries.keySet().iterator();
 		while (entriesIterator.hasNext()) {
-			String nextGroupId = (String) entriesIterator.next();
-			Iterator nextEntriesIterator = ((Collection) groupingEntries
-					.get(nextGroupId)).iterator();
+			String nextGroupId = entriesIterator.next();
+			Iterator<MarkerGroupingEntry> nextEntriesIterator = groupingEntries.get(nextGroupId).iterator();
 			if (markerGroups.containsKey(nextGroupId)) {
 				while (nextEntriesIterator.hasNext()) {
-					MarkerGroupingEntry next = (MarkerGroupingEntry) nextEntriesIterator
-							.next();
-					next.setGroup((MarkerGroup) markerGroups.get(nextGroupId));
-
+					MarkerGroupingEntry next = nextEntriesIterator.next();
+					next.setGroup(markerGroups.get(nextGroupId));
 				}
 			} else {
 				while (nextEntriesIterator.hasNext()) {
-					MarkerGroupingEntry next = (MarkerGroupingEntry) nextEntriesIterator
-							.next();
-					IDEWorkbenchPlugin
-							.log(NLS
-									.bind(
-											"markerGroupingEntry {0} defines invalid group {1}",//$NON-NLS-1$
-											new String[] { next.getId(),
-													nextGroupId }));
+					MarkerGroupingEntry next = nextEntriesIterator.next();
+					IDEWorkbenchPlugin.log(NLS.bind("markerGroupingEntry {0} defines invalid group {1}", //$NON-NLS-1$
+							new String[] { next.getId(), nextGroupId }));
 				}
 			}
 		}
@@ -457,17 +416,15 @@
 	 * @param entryIDsToEntries
 	 * @param attributeMappings
 	 */
-	private void processAttributeMappings(Map entryIDsToEntries,
-			Collection attributeMappings) {
-		Iterator mappingsIterator = attributeMappings.iterator();
+	private void processAttributeMappings(Map<String, MarkerGroupingEntry> entryIDsToEntries,
+			Collection<AttributeMarkerGrouping> attributeMappings) {
+		Iterator<AttributeMarkerGrouping> mappingsIterator = attributeMappings.iterator();
 		while (mappingsIterator.hasNext()) {
-			AttributeMarkerGrouping attributeGrouping = (AttributeMarkerGrouping) mappingsIterator
-					.next();
+			AttributeMarkerGrouping attributeGrouping = mappingsIterator.next();
 			String defaultEntryId = attributeGrouping.getDefaultGroupingEntry();
 			if (defaultEntryId != null) {
 				if (entryIDsToEntries.containsKey(defaultEntryId)) {
-					MarkerGroupingEntry entry = (MarkerGroupingEntry) entryIDsToEntries
-							.get(defaultEntryId);
+					MarkerGroupingEntry entry = entryIDsToEntries.get(defaultEntryId);
 					entry.setAsDefault(attributeGrouping.getMarkerType());
 				} else {
 					IDEWorkbenchPlugin.log(NLS.bind(
@@ -475,27 +432,21 @@
 							defaultEntryId));
 				}
 			}
-			IConfigurationElement[] mappings = attributeGrouping.getElement()
-					.getChildren(ATTRIBUTE_MAPPING);
+			IConfigurationElement[] mappings = attributeGrouping.getElement().getChildren(ATTRIBUTE_MAPPING);
 
 			for (int i = 0; i < mappings.length; i++) {
-				String entryId = mappings[i]
-						.getAttribute(MARKER_GROUPING_ENTRY);
+				String entryId = mappings[i].getAttribute(MARKER_GROUPING_ENTRY);
 
 				if (entryIDsToEntries.containsKey(entryId)) {
-					MarkerGroupingEntry entry = (MarkerGroupingEntry) entryIDsToEntries
-							.get(entryId);
-					entry.getMarkerGroup().mapAttribute(attributeGrouping,
-							entry, mappings[i].getAttribute(VALUE));
+					MarkerGroupingEntry entry = entryIDsToEntries.get(entryId);
+					entry.getMarkerGroup().mapAttribute(attributeGrouping, entry, mappings[i].getAttribute(VALUE));
 				} else {
 					IDEWorkbenchPlugin.log(NLS.bind(
 							"Reference to invaild markerGroupingEntry {0}", //$NON-NLS-1$
 							defaultEntryId));
 				}
-
 			}
 		}
-
 	}
 
 	/**
@@ -514,22 +465,14 @@
 		return ids;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.core.runtime.dynamichelpers.IExtensionChangeHandler#addExtension(org.eclipse.core.runtime.dynamichelpers.IExtensionTracker,
-	 *      org.eclipse.core.runtime.IExtension)
-	 */
 	@Override
 	public void addExtension(IExtensionTracker tracker, IExtension extension) {
-		Map groupIDsToEntries = new HashMap();
-		Map entryIDsToEntries = new HashMap();
-		Map generatorExtensions = new HashMap();
-		Set attributeMappings = new HashSet();
-		processExtension(tracker, extension, groupIDsToEntries,
-				entryIDsToEntries, attributeMappings, generatorExtensions);
-		postProcessExtensions(groupIDsToEntries, entryIDsToEntries,
-				attributeMappings, generatorExtensions);
+		Map<String, Collection<MarkerGroupingEntry>> groupIDsToEntries = new HashMap<>();
+		Map<String, MarkerGroupingEntry> entryIDsToEntries = new HashMap<>();
+		Map<String, Collection<IConfigurationElement>> generatorExtensions = new HashMap<>();
+		Set<AttributeMarkerGrouping> attributeMappings = new HashSet<>();
+		processExtension(tracker, extension, groupIDsToEntries,	entryIDsToEntries, attributeMappings, generatorExtensions);
+		postProcessExtensions(groupIDsToEntries, entryIDsToEntries,	attributeMappings, generatorExtensions);
 	}
 
 	/**
@@ -537,17 +480,16 @@
 	 *
 	 * @return Collection of ProblemFilter
 	 */
-	public Collection getRegisteredFilters() {
-		Collection filteredFilters = new ArrayList();
-		Iterator registeredIterator = registeredFilters.values().iterator();
+	public Collection<ProblemFilter> getRegisteredFilters() {
+		Collection<ProblemFilter> filteredFilters = new ArrayList<>();
+		Iterator<ProblemFilter> registeredIterator = registeredFilters.values().iterator();
 		while (registeredIterator.hasNext()) {
-			ProblemFilter next = (ProblemFilter) registeredIterator.next();
+			ProblemFilter next = registeredIterator.next();
 			if (next.isFilteredOutByActivity()) {
 				continue;
 			}
 			filteredFilters.add(next);
 		}
-
 		return filteredFilters;
 	}
 
@@ -576,7 +518,6 @@
 		if (scope.equals(ON_ANY_IN_SAME_CONTAINER)) {
 			return MarkerFilter.ON_ANY_IN_SAME_CONTAINER;
 		}
-
 		return -1;
 	}
 
@@ -602,7 +543,6 @@
 		if (severity.equals(ERROR)) {
 			return ProblemFilter.SEVERITY_ERROR;
 		}
-
 		return -1;
 	}
 
@@ -614,14 +554,12 @@
 	 * @return ProblemFilter
 	 */
 	private ProblemFilter newFilter(IConfigurationElement element) {
-		ProblemFilter filter = new ProblemFilter(element
-				.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_NAME));
+		ProblemFilter filter = new ProblemFilter(element.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_NAME));
 
 		filter.createContributionFrom(element);
 
 		String enabledValue = element.getAttribute(ENABLED);
-		filter.setEnabled(enabledValue == null
-				|| Boolean.valueOf(enabledValue).booleanValue());
+		filter.setEnabled(enabledValue == null || Boolean.valueOf(enabledValue).booleanValue());
 
 		int scopeValue = getScopeValue(element);
 		if (scopeValue >= 0) {
@@ -647,22 +585,17 @@
 			filter.setSelectBySeverity(false);
 		}
 
-		List selectedTypes = new ArrayList();
+		List<MarkerType> selectedTypes = new ArrayList<>();
 		IConfigurationElement[] types = element.getChildren(SELECTED_TYPE);
 		for (int j = 0; j < types.length; j++) {
 			String markerId = types[j].getAttribute(MARKER_ID);
 			if (markerId != null) {
 				MarkerType type = filter.getMarkerType(markerId);
 				if (type == null) {
-					IStatus status = new Status(
-							IStatus.WARNING,
-							IDEWorkbenchPlugin.IDE_WORKBENCH,
-							IStatus.WARNING,
-							NLS
-									.bind(
-											MarkerMessages.ProblemFilterRegistry_nullType,
-											new Object[] { markerId,
-													filter.getName() }), null);
+					IStatus status = new Status(IStatus.WARNING, IDEWorkbenchPlugin.IDE_WORKBENCH, IStatus.WARNING,
+							NLS.bind(MarkerMessages.ProblemFilterRegistry_nullType,
+									new Object[] { markerId, filter.getName() }),
+							null);
 					IDEWorkbenchPlugin.getDefault().getLog().log(status);
 				} else {
 					selectedTypes.add(type);
@@ -674,17 +607,9 @@
 			// specified
 			filter.setSelectedTypes(selectedTypes);
 		}
-
 		return filter;
-
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.eclipse.core.runtime.dynamichelpers.IExtensionChangeHandler#removeExtension(org.eclipse.core.runtime.IExtension,
-	 *      java.lang.Object[])
-	 */
 	@Override
 	public void removeExtension(IExtension extension, Object[] objects) {
 
@@ -712,7 +637,7 @@
 			}
 
 			if (objects[i] instanceof String) {
-				removeValues(objects[i], categories);
+				removeValues((String) objects[i], categories);
 				continue;
 			}
 
@@ -722,21 +647,17 @@
 			}
 
 			if (objects[i] instanceof ContentGeneratorDescriptor) {
-				generators
-						.remove(((ContentGeneratorDescriptor) objects[i]).getId());
+				generators.remove(((ContentGeneratorDescriptor) objects[i]).getId());
 				continue;
 			}
 
 			if (objects[i] instanceof IConfigurationElement) {
 				IConfigurationElement element = (IConfigurationElement) objects[i];
-				ContentGeneratorDescriptor generatorDesc = (ContentGeneratorDescriptor) generators
-						.get(element.getAttribute(ATTRIBUTE_GENERATOR_ID));
+				ContentGeneratorDescriptor generatorDesc = generators.get(element.getAttribute(ATTRIBUTE_GENERATOR_ID));
 				generatorDesc.removeExtension(element);
 				continue;
 			}
-
 		}
-
 	}
 
 	/**
@@ -746,28 +667,16 @@
 	 * @param value
 	 * @param cache
 	 */
-	private void removeValues(Object value, HashMap cache) {
-		Collection keysToRemove = new ArrayList();
-		Iterator keys = cache.keySet().iterator();
+	private void removeValues(String value, Map<String, String> cache) {
+		Collection<String> keysToRemove = new ArrayList<>();
+		Iterator<String> keys = cache.keySet().iterator();
 		while (keys.hasNext()) {
-			String key = (String) keys.next();
-			Object next = cache.get(key);
-			if (next instanceof Collection) {
-				Collection collection = (Collection) next;
-				if (collection.contains(value)) {
-					collection.remove(value);
-					if (collection.isEmpty()) {
-						keysToRemove.add(key);
-					}
-					break;
-				}
-			} else {
-				if (cache.get(key).equals(value)) {
-					keysToRemove.add(key);
-				}
+			String key = keys.next();
+			if (cache.get(key).equals(value)) {
+				keysToRemove.add(key);
 			}
 		}
-		Iterator keysToRemoveIterator = keysToRemove.iterator();
+		Iterator<String> keysToRemoveIterator = keysToRemove.iterator();
 		while (keysToRemoveIterator.hasNext()) {
 			cache.remove(keysToRemoveIterator.next());
 		}
@@ -798,7 +707,7 @@
 	 */
 	public String getCategory(String markerType) {
 		if (categories.containsKey(markerType)) {
-			return (String) categories.get(markerType);
+			return categories.get(markerType);
 		}
 		return null;
 	}
@@ -811,7 +720,7 @@
 	 */
 	public TableComparator getSorterFor(String type) {
 		if (hierarchyOrders.containsKey(type)) {
-			return (TableComparator) hierarchyOrders.get(type);
+			return hierarchyOrders.get(type);
 		}
 
 		TableComparator sorter = findSorterInChildren(type, getRootType());
@@ -828,8 +737,7 @@
 	 */
 	private MarkerType getRootType() {
 		if (rootType == null) {
-			rootType = (MarkerTypesModel.getInstance())
-					.getType(IMarker.PROBLEM);
+			rootType = (MarkerTypesModel.getInstance()).getType(IMarker.PROBLEM);
 		}
 		return rootType;
 	}
@@ -842,27 +750,23 @@
 	 * @param type
 	 * @return TableSorter or <code>null</code>.
 	 */
-	private TableComparator findSorterInChildren(String typeName,
-			MarkerType type) {
-
+	private TableComparator findSorterInChildren(String typeName, MarkerType type) {
 		MarkerType[] types = type.getAllSubTypes();
 		TableComparator defaultSorter = null;
 		if (hierarchyOrders.containsKey(type.getId())) {
-			defaultSorter = (TableComparator) hierarchyOrders.get(type.getId());
+			defaultSorter = hierarchyOrders.get(type.getId());
 		}
 
 		for (int i = 0; i < types.length; i++) {
 			MarkerType[] subtypes = types[i].getAllSubTypes();
 			for (int j = 0; j < subtypes.length; j++) {
-				TableComparator sorter = findSorterInChildren(typeName,
-						subtypes[j]);
+				TableComparator sorter = findSorterInChildren(typeName, subtypes[j]);
 				if (sorter != null) {
 					return sorter;
 				}
 			}
 		}
 		return defaultSorter;
-
 	}
 
 	/**
@@ -870,7 +774,7 @@
 	 *
 	 * @return Collection of {@link MarkerGroup}
 	 */
-	public Collection getMarkerGroups() {
+	public Collection<MarkerGroup> getMarkerGroups() {
 		return markerGroups.values();
 	}
 
@@ -880,8 +784,7 @@
 	 * @return IField
 	 */
 	IField getDefaultGroupField() {
-
-		return ((MarkerGroup) markerGroups.get(SEVERITY_ID)).getField();
+		return markerGroups.get(SEVERITY_ID).getField();
 	}
 
 	/**
@@ -891,8 +794,9 @@
 	 * @return ContentGeneratorDescriptor or <code>null</code>.
 	 */
 	public ContentGeneratorDescriptor getContentGenDescriptor (String id) {
-		if (id != null && generators.containsKey(id))
-			return (ContentGeneratorDescriptor) generators.get(id);
+		if (id != null && generators.containsKey(id)) {
+			return generators.get(id);
+		}
 		return null;
 	}
 
@@ -902,7 +806,7 @@
 	 * @return ContentGeneratorDescriptor
 	 */
 	public ContentGeneratorDescriptor getDefaultContentGenDescriptor () {
-		return (ContentGeneratorDescriptor) generators.get(PROBLEMS_GENERATOR);
+		return generators.get(PROBLEMS_GENERATOR);
 	}
 
 	/**
@@ -912,8 +816,9 @@
 	 * @return FieldMarkerGroup or <code>null</code>
 	 */
 	public MarkerGroup getMarkerGroup(String categoryName) {
-		if (markerGroups.containsKey(categoryName))
-			return (MarkerGroup) markerGroups.get(categoryName);
+		if (markerGroups.containsKey(categoryName)) {
+			return markerGroups.get(categoryName);
+		}
 		return null;
 	}
 
@@ -924,8 +829,9 @@
 	 * @return {@link MarkerField} or <code>null</code>
 	 */
 	public MarkerField getField(String id) {
-		if (fields.containsKey(id))
-			return (MarkerField) fields.get(id);
+		if (fields.containsKey(id)) {
+			return fields.get(id);
+		}
 		return null;
 	}
 
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerType.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerType.java
index cd22012..a88a15e 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerType.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerType.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
+ * Copyright (c) 2000, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -27,10 +27,14 @@
     private String[] supertypeIds;
 
     /**
-     * Creates a new marker type.
-     */
-    public MarkerType(MarkerTypesModel model, String id, String label,
-            String[] supertypeIds) {
+	 * Creates a new marker type.
+	 *
+	 * @param model
+	 * @param id
+	 * @param label
+	 * @param supertypeIds
+	 */
+	public MarkerType(MarkerTypesModel model, String id, String label, String[] supertypeIds) {
         this.model = model;
         this.id = id;
         this.label = label;
@@ -38,18 +42,20 @@
     }
 
     /**
-     * Returns all this type's supertypes.
-     */
+	 * Returns all this type's supertypes.
+	 *
+	 * @return never null
+	 */
     public MarkerType[] getAllSupertypes() {
-        ArrayList result = new ArrayList();
+        ArrayList<MarkerType> result = new ArrayList<>();
         getAllSupertypes(result);
-        return (MarkerType[]) result.toArray(new MarkerType[result.size()]);
+        return result.toArray(new MarkerType[result.size()]);
     }
 
     /**
      * Appends all this type's supertypes to the given list.
      */
-    private void getAllSupertypes(ArrayList result) {
+    private void getAllSupertypes(ArrayList<MarkerType> result) {
         MarkerType[] supers = getSupertypes();
         for (int i = 0; i < supers.length; ++i) {
             MarkerType sup = supers[i];
@@ -61,15 +67,15 @@
     }
 
     /**
-     * Returns the marker type id.
-     */
+	 * @return the marker type id.
+	 */
     public String getId() {
         return id;
     }
 
     /**
-     * Returns the human-readable label for this marker type.
-     */
+	 * @return the human-readable label for this marker type.
+	 */
     public String getLabel() {
         return label;
     }
@@ -81,7 +87,7 @@
      */
     public MarkerType[] getSubtypes() {
         MarkerType[] types = model.getTypes();
-        ArrayList result = new ArrayList();
+        ArrayList<MarkerType> result = new ArrayList<>();
         for (int i = 0; i < types.length; ++i) {
             MarkerType type = types[i];
             String[] supers = type.getSupertypeIds();
@@ -91,18 +97,21 @@
                 }
             }
         }
-        return (MarkerType[]) result.toArray(new MarkerType[result.size()]);
+        return result.toArray(new MarkerType[result.size()]);
     }
 
+	/**
+	 * @return never null
+	 */
     public MarkerType[] getAllSubTypes() {
-        List subTypes = new ArrayList();
+        List<MarkerType> subTypes = new ArrayList<>();
         addSubTypes(subTypes, this);
         MarkerType[] subs = new MarkerType[subTypes.size()];
         subTypes.toArray(subs);
         return subs;
     }
 
-    private void addSubTypes(List list, MarkerType superType) {
+    private void addSubTypes(List<MarkerType> list, MarkerType superType) {
         MarkerType[] subTypes = superType.getSubtypes();
         for (int i = 0; i < subTypes.length; i++) {
             MarkerType subType = subTypes[i];
@@ -114,32 +123,35 @@
     }
 
     /**
-     * Returns the marker type ids for this type's supertypes.
-     */
+	 * @return the marker type ids for this type's supertypes.
+	 */
     public String[] getSupertypeIds() {
         return supertypeIds;
     }
 
     /**
-     * Returns this type's direct supertypes.
-     */
+	 * @return this type's direct supertypes, never null.
+	 */
     public MarkerType[] getSupertypes() {
-        ArrayList result = new ArrayList();
+        ArrayList<MarkerType> result = new ArrayList<>();
         for (int i = 0; i < supertypeIds.length; ++i) {
             MarkerType sup = model.getType(supertypeIds[i]);
             if (sup != null) {
                 result.add(sup);
             }
         }
-        return (MarkerType[]) result.toArray(new MarkerType[result.size()]);
+        return result.toArray(new MarkerType[result.size()]);
     }
 
     /**
-     * Returns whether this marker type is considered to be a subtype of
-     * the given marker type.
-     *
-     * @return boolean <code>true</code>if this type is the same as (or a subtype of) the given type
-     */
+	 * Returns whether this marker type is considered to be a subtype of the
+	 * given marker type.
+	 *
+	 * @param superType
+	 *
+	 * @return boolean <code>true</code>if this type is the same as (or a
+	 *         subtype of) the given type
+	 */
     public boolean isSubtypeOf(MarkerType superType) {
         if (id.equals(superType.getId())) {
             return true;
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerTypesModel.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerTypesModel.java
index 37790f0..7cd10b0 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerTypesModel.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerTypesModel.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
+ * Copyright (c) 2000, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -43,7 +43,7 @@
 	/**
 	 * Maps from marker type id to MarkerType.
 	 */
-	private HashMap types;
+	private HashMap<String, MarkerType> types;
 
 	/**
 	 * Creates a new marker types model.
@@ -53,15 +53,16 @@
 	}
 
 	/**
-	 * Returns the marker type with the given id, or <code>null</code> if
-	 * there is no such marker type.
+	 * @param id
+	 * @return the marker type with the given id, or <code>null</code> if there
+	 *         is no such marker type.
 	 */
 	public MarkerType getType(String id) {
-		return (MarkerType) types.get(id);
+		return types.get(id);
 	}
 
 	/**
-	 * Returns all known marker types.
+	 * @return all known marker types, never null.
 	 */
 	public MarkerType[] getTypes() {
 		MarkerType[] result = new MarkerType[types.size()];
@@ -89,12 +90,11 @@
 	/**
 	 * Reads the marker types from the registry.
 	 */
-	private HashMap readTypes() {
-		HashMap types = new HashMap();
+	private HashMap<String, MarkerType> readTypes() {
+		HashMap<String, MarkerType> result = new HashMap<>();
 
-		IExtensionPoint point = Platform.getExtensionRegistry()
-				.getExtensionPoint(ResourcesPlugin.PI_RESOURCES,
-						ResourcesPlugin.PT_MARKERS);
+		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(ResourcesPlugin.PI_RESOURCES,
+				ResourcesPlugin.PT_MARKERS);
 		if (point != null) {
 			// Gather all registered marker types.
 			IExtension[] extensions = point.getExtensions();
@@ -105,7 +105,7 @@
 				if (label.equals("")) {//$NON-NLS-1$
 					label = getWellKnownLabel(id);
 				}
-				ArrayList supersList = new ArrayList();
+				ArrayList<String> supersList = new ArrayList<>();
 				IConfigurationElement[] configElements = ext
 						.getConfigurationElements();
 				for (int j = 0; j < configElements.length; ++j) {
@@ -120,9 +120,9 @@
 				String[] superTypes = new String[supersList.size()];
 				supersList.toArray(superTypes);
 				MarkerType type = new MarkerType(this, id, label, superTypes);
-				types.put(id, type);
+				result.put(id, type);
 			}
 		}
-		return types;
+		return result;
 	}
 }
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableComparator.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableComparator.java
index f295d4b..ddd0e0a 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableComparator.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableComparator.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
+ * Copyright (c) 2000, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -260,11 +260,6 @@
 		return true;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-	 */
 	@Override
 	public int compare(Object o1, Object o2) {
 		return compare(null, o1, o2);
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TypeMarkerGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TypeMarkerGroup.java
index 799f4fd..ff39594 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TypeMarkerGroup.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TypeMarkerGroup.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
+ * Copyright (c) 2007, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -29,7 +29,7 @@
  */
 public class TypeMarkerGroup extends MarkerGroup {
 
-	private Map entries=new HashMap();
+	private Map<String, TypesMarkerGroupingEntry> entries=new HashMap<String, TypesMarkerGroupingEntry>();
 	/**
 	 * TypeMarkerField is the MarkerField used for MarkerGroupungs
 	 *
@@ -46,11 +46,6 @@
 			super();
 		}
 
-		/*
-		 * (non-Javadoc)
-		 *
-		 * @see org.eclipse.ui.internal.provisional.views.markers.api.MarkerField#getValue(org.eclipse.ui.internal.provisional.views.markers.api.MarkerItem)
-		 */
 		@Override
 		public String getValue(MarkerItem item) {
 
@@ -79,9 +74,6 @@
 			return Util.EMPTY_STRING;
 		}
 
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.views.markers.internal.MarkerGroup.GroupMarkerField#compare(org.eclipse.ui.views.markers.MarkerItem, org.eclipse.ui.views.markers.MarkerItem)
-		 */
 		@Override
 		public int compare(MarkerItem item1, MarkerItem item2) {
 			return getValue(item1).compareTo(getValue(item2));
@@ -110,16 +102,9 @@
 		markerField = new TypeMarkerField();
 	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see
-	 * org.eclipse.ui.views.markers.internal.MarkerGroup#findGroupValue(java
-	 * .lang.String, org.eclipse.core.resources.IMarker)
-	 */
 	@Override
 	public MarkerGroupingEntry findGroupValue(String typeId, IMarker marker) {
-		TypesMarkerGroupingEntry entry = (TypesMarkerGroupingEntry) entries
+		TypesMarkerGroupingEntry entry = entries
 				.get(typeId);
 		if (entry == null) {
 			String groupName = MarkerSupportRegistry.getInstance().getCategory(
@@ -135,33 +120,24 @@
 		}
 		return entry;
 	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markers.internal.MarkerGroup#getId()
-	 */
+
 	@Override
 	public String getId() {
 		return Util.TYPE_MARKER_GROUPING_ID;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markers.internal.MarkerGroup#getTitle()
-	 */
 	@Override
 	public String getTitle() {
 		return name;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markers.internal.MarkerGroup#getEntriesComparator()
-	 */
 	@Override
-	public Comparator getEntriesComparator() {
-		return new Comparator() {
+	public Comparator<MarkerGroupingEntry> getEntriesComparator() {
+		return new Comparator<MarkerGroupingEntry>() {
 			@Override
-			public int compare(Object o1, Object o2) {
+			public int compare(MarkerGroupingEntry o1, MarkerGroupingEntry o2) {
 				//TODO: use a collator to compare?
-				return ((MarkerGroupingEntry) o1).getLabel().compareTo(
-						((MarkerGroupingEntry) o2).getLabel());
+				return o1.getLabel().compareTo(o2.getLabel());
 			}
 		};
 	}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Util.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Util.java
index 2f25187..154402e 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Util.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Util.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -11,7 +11,6 @@
 
 package org.eclipse.ui.views.markers.internal;
 
-import com.ibm.icu.text.DateFormat;
 import java.util.Date;
 import java.util.Iterator;
 
@@ -29,6 +28,8 @@
 import org.eclipse.ui.internal.ide.Policy;
 import org.eclipse.ui.views.markers.MarkerViewUtil;
 
+import com.ibm.icu.text.DateFormat;
+
 /**
  * The Util class is the class of general utilities used by the marker support.
  *
@@ -159,8 +160,9 @@
 	 */
 	public static String getResourceName(IMarker marker) {
 
-		if (!marker.exists())
+		if (!marker.exists()) {
 			return Util.EMPTY_STRING;
+		}
 
 		try {
 			Object nameAttribute = marker
@@ -262,8 +264,9 @@
 	 */
 	public static String getShortContainerName(IMarker marker) {
 
-		if (!marker.exists())
+		if (!marker.exists()) {
 			return Util.EMPTY_STRING;
+		}
 
 		try {
 			Object pathAttribute = marker
@@ -322,7 +325,7 @@
 	 */
 	public static boolean allConcreteSelection(IStructuredSelection selection) {
 		if (selection != null && selection.size() > 0) {
-			Iterator nodes = selection.iterator();
+			Iterator<?> nodes = selection.iterator();
 			while (nodes.hasNext()) {
 				if (((MarkerNode) nodes.next()).isConcrete()) {
 					continue;