Bug 496890 - Update o.e.help.ui to Java 8

* Remove unneeded casts.
* Enable save actions to organize imports and format edited line.

Change-Id: I414a38ed0da187f185a660e999a33ca9b289835d
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/org.eclipse.help.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.help.ui/.settings/org.eclipse.jdt.core.prefs
index f73010a..fce2be4 100644
--- a/org.eclipse.help.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.help.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,58 +1,107 @@
 eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 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.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
 org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
 org.eclipse.jdt.core.compiler.problem.deprecation=warning
 org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
 org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
 org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
 org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
 org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
 org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
 org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
 org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
 org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
 org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
 org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
 org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
 org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
 org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
 org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
 org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
 org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
 org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
 org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
 org.eclipse.jdt.core.compiler.problem.nullReference=ignore
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
 org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
 org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
 org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
 org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
 org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
 org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
 org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
 org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
 org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
 org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
 org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
 org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
 org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedImport=warning
 org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
 org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
 org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
 org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
diff --git a/org.eclipse.help.ui/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.help.ui/.settings/org.eclipse.jdt.ui.prefs
index cb8a5e9..0fb87bc 100644
--- a/org.eclipse.help.ui/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.help.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -1,4 +1,61 @@
-#Fri Nov 11 12:08:45 EST 2005
 eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
 formatter_profile=_UA
 formatter_settings_version=9
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=true
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=false
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=false
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/RootScopePage.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/RootScopePage.java
index 839b14b..642f9f0 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/RootScopePage.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/RootScopePage.java
@@ -177,7 +177,7 @@
 				disabledStates.put(child, Boolean.valueOf(child.isEnabled()));
 				child.setEnabled(false);
 			} else {
-				Boolean savedState = (Boolean) disabledStates.get(child);
+				Boolean savedState = disabledStates.get(child);
 				if (!first)
 					child.setEnabled(savedState != null ? savedState
 							.booleanValue() : true);
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/HyperlinkHandler.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/HyperlinkHandler.java
index e53cfdc..fff44fd 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/HyperlinkHandler.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/HyperlinkHandler.java
@@ -12,10 +12,22 @@
 import java.util.Enumeration;
 import java.util.Hashtable;
 
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.events.MouseListener;
+import org.eclipse.swt.events.MouseTrackListener;
+import org.eclipse.swt.events.PaintEvent;
+import org.eclipse.swt.events.PaintListener;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Cursor;
+import org.eclipse.swt.graphics.GC;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Listener;
 
 public class HyperlinkHandler
 		implements
@@ -184,7 +196,7 @@
 	public IHyperlinkListener getLinkListener(Control c) {
 		if (c instanceof Label)
 			c = c.getParent();
-		return (IHyperlinkListener) hyperlinkListeners.get(c);
+		return hyperlinkListeners.get(c);
 	}
 
 	private void removeDisposedLinks() {
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/StyledLineWrapper.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/StyledLineWrapper.java
index b22c7cc..21e6dac 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/StyledLineWrapper.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/StyledLineWrapper.java
@@ -88,7 +88,7 @@
 	public String getLine(int i) {
 		if ((i >= lines.size()) || (i < 0))
 			SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-		return (String) lines.get(i);
+		return lines.get(i);
 	}
 
 	/**
@@ -221,7 +221,7 @@
 		// Break long lines
 		GC gc = new GC(drawable);
 		for (int i = 0; i < lines.size(); i++) {
-			String line = (String) lines.get(i);
+			String line = lines.get(i);
 			while (line.length() > 0) {
 				int linebreak = getLineBreak(line, gc);
 				if (linebreak == 0 || linebreak == line.length())
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/browser/embedded/EmbeddedBrowser.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/browser/embedded/EmbeddedBrowser.java
index 4879d94..750a22c 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/browser/embedded/EmbeddedBrowser.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/browser/embedded/EmbeddedBrowser.java
@@ -444,7 +444,7 @@
 					shellImgs.add(image);
 				}
 			}
-			return (Image[]) shellImgs.toArray(new Image[shellImgs.size()]);
+			return shellImgs.toArray(new Image[shellImgs.size()]);
 		}
 		return new Image[0];
 	}
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/preferences/ICButtons.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/preferences/ICButtons.java
index b27a157..19d9a02 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/preferences/ICButtons.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/preferences/ICButtons.java
@@ -195,7 +195,7 @@
 		for (int i=0;i<ics.size();i++)

 		{

 			((IC)ics.get(i)).setEnabled(enable);

-			page.getTable().getTableViewer().replace((IC)ics.get(i),indexes[i]);

+			page.getTable().getTableViewer().replace(ics.get(i), indexes[i]);

 		}

 		page.getTable().refresh();

 		

@@ -207,8 +207,8 @@
 		int index = page.getTable().getTable().getSelectionIndices()[0];

 		

 		List<IC> ics = page.getTable().getICs();

-		IC x = (IC) ics.get(index);

-		IC y = (IC) ics.get(index+offset);

+		IC x = ics.get(index);

+		IC y = ics.get(index + offset);

 

 		ics.set(index+offset,x);

 		ics.set(index,y);

diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/preferences/ICPreferences.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/preferences/ICPreferences.java
index 607e9b9..cb427b9 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/preferences/ICPreferences.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/preferences/ICPreferences.java
@@ -34,12 +34,12 @@
 		

 		for (int i=0;i<ics.size();i++)

 		{

-			name+= ((IC)ics.get(i)).getName()+DELIMITER;

-			protocol+= ((IC)ics.get(i)).getProtocol()+DELIMITER;

-			host+= ((IC)ics.get(i)).getHost()+DELIMITER;

-			port+= ((IC)ics.get(i)).getPort()+DELIMITER;

-			path+= ((IC)ics.get(i)).getPath()+DELIMITER;

-			enabled+= ((IC)ics.get(i)).isEnabled()+DELIMITER;

+			name += ics.get(i).getName() + DELIMITER;

+			protocol += ics.get(i).getProtocol() + DELIMITER;

+			host += ics.get(i).getHost() + DELIMITER;

+			port += ics.get(i).getPort() + DELIMITER;

+			path += ics.get(i).getPath() + DELIMITER;

+			enabled += ics.get(i).isEnabled() + DELIMITER;

 		}

 		

 		// Remove trailing commas

diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/search/InfoCenterPage.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/search/InfoCenterPage.java
index b6f3719..196701b 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/search/InfoCenterPage.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/search/InfoCenterPage.java
@@ -80,8 +80,7 @@
 				if (res != null)
 					list.add(res);
 			}
-			setElements((AdaptableHelpResource[]) list
-					.toArray(new AdaptableHelpResource[list.size()]));
+			setElements(list.toArray(new AdaptableHelpResource[list.size()]));
 		}
 
 		private AdaptableHelpResource find(String url) {
@@ -461,8 +460,7 @@
 	public void updateWorkingSet() {
 		ArrayList<AdaptableHelpResource> elements = new ArrayList<>(10);
 		findCheckedElements(elements, tree.getInput());
-		workingSet.setElements((AdaptableHelpResource[]) elements
-				.toArray(new AdaptableHelpResource[elements.size()]));
+		workingSet.setElements(elements.toArray(new AdaptableHelpResource[elements.size()]));
 	}
 
 	/*
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/search/InfoCenterSearchScopeFactory.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/search/InfoCenterSearchScopeFactory.java
index 5947118..e99917c 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/search/InfoCenterSearchScopeFactory.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/search/InfoCenterSearchScopeFactory.java
@@ -15,7 +15,7 @@
 import java.util.StringTokenizer;
 
 import org.eclipse.help.internal.search.InfoCenter;
-import org.eclipse.help.search.*;
+import org.eclipse.help.search.ISearchScope;
 import org.eclipse.help.ui.ISearchScopeFactory;
 import org.eclipse.jface.preference.IPreferenceStore;
 
@@ -46,7 +46,7 @@
         			list.add(toc);
         		}
         		if (list.size()>0)
-        			tocs = (String[])list.toArray(new String[list.size()]);
+					tocs = list.toArray(new String[list.size()]);
         	}
         }
         return new InfoCenter.Scope(url, searchSelected, tocs);
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/search/LocalHelpPage.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/search/LocalHelpPage.java
index 7ca32fb..dea6fe6 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/search/LocalHelpPage.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/search/LocalHelpPage.java
@@ -16,20 +16,31 @@
 import java.util.List;
 
 import org.eclipse.help.internal.HelpPlugin;
-import org.eclipse.help.internal.base.*;
+import org.eclipse.help.internal.base.BaseHelpSystem;
 import org.eclipse.help.internal.criteria.CriterionResource;
-import org.eclipse.help.internal.workingset.*;
-import org.eclipse.help.ui.*;
+import org.eclipse.help.internal.workingset.AdaptableHelpResource;
+import org.eclipse.help.internal.workingset.WorkingSet;
+import org.eclipse.help.ui.IEngineDescriptor;
+import org.eclipse.help.ui.RootScopePage;
 import org.eclipse.help.ui.internal.Messages;
 import org.eclipse.help.ui.internal.search.HelpCriteriaContentProvider.CriterionName;
 import org.eclipse.help.ui.internal.search.HelpCriteriaContentProvider.CriterionValue;
-import org.eclipse.jface.viewers.*;
+import org.eclipse.jface.viewers.CheckStateChangedEvent;
+import org.eclipse.jface.viewers.CheckboxTreeViewer;
+import org.eclipse.jface.viewers.ICheckStateListener;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.ITreeViewerListener;
+import org.eclipse.jface.viewers.TreeExpansionEvent;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.*;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
 
 /**
  * Local Help participant in the federated search.
@@ -335,7 +346,7 @@
 				resources.add(resource);
 			}
 		}
-		return (CriterionResource[])resources.toArray(new CriterionResource[resources.size()]);
+		return resources.toArray(new CriterionResource[resources.size()]);
 	}
 
 	void handleCheckStateChange(final CheckStateChangedEvent event,  
@@ -370,12 +381,10 @@
 		if (workingSet == null) {
 			workingSet = new WorkingSet(
 					getScopeSetName(),
-					(AdaptableHelpResource[]) elements
-							.toArray(new AdaptableHelpResource[elements.size()]), criteria);
+					elements.toArray(new AdaptableHelpResource[elements.size()]), criteria);
 		} else {
 			workingSet.setName(getScopeSetName());
-			workingSet.setElements((AdaptableHelpResource[]) elements
-					.toArray(new AdaptableHelpResource[elements.size()]));
+			workingSet.setElements(elements.toArray(new AdaptableHelpResource[elements.size()]));
 			workingSet.setCriteria(criteria);
 		}
 		return workingSet;
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ContextHelpPart.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ContextHelpPart.java
index 2a8a4ae..2c7d472 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ContextHelpPart.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ContextHelpPart.java
@@ -15,6 +15,7 @@
 import java.util.List;
 import java.util.Set;
 
+import org.eclipse.core.runtime.Platform;
 import org.eclipse.help.HelpSystem;
 import org.eclipse.help.ICommandLink;
 import org.eclipse.help.IContext;
@@ -35,8 +36,14 @@
 import org.eclipse.help.ui.internal.IHelpUIConstants;
 import org.eclipse.help.ui.internal.Messages;
 import org.eclipse.help.ui.internal.util.EscapeUtils;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.dialogs.IDialogPage;
+import org.eclipse.jface.dialogs.IPageChangeProvider;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.window.Window;
+import org.eclipse.jface.wizard.IWizardContainer;
 import org.eclipse.osgi.util.NLS;
-
 import org.eclipse.swt.accessibility.ACC;
 import org.eclipse.swt.accessibility.AccessibleAdapter;
 import org.eclipse.swt.accessibility.AccessibleEvent;
@@ -49,17 +56,6 @@
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.TabFolder;
 import org.eclipse.swt.widgets.TabItem;
-
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.dialogs.IDialogPage;
-import org.eclipse.jface.dialogs.IPageChangeProvider;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.IWizardContainer;
-
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IMemento;
 import org.eclipse.ui.IViewPart;
@@ -373,7 +369,7 @@
 		if (title == null) {
 			String[] searchTerms = computeSearchTerms(c);
 			if (searchTerms.length > 0) {
-				title = NLS.bind(Messages.ContextHelpPart_aboutP, (String)searchTerms[0]);
+				title = NLS.bind(Messages.ContextHelpPart_aboutP, searchTerms[0]);
 			}
 		}
 		if (title==null)
@@ -441,7 +437,7 @@
 		}
 		
 		public String[] toArray() {
-			return (String[]) terms.toArray(new String[terms.size()]);
+			return terms.toArray(new String[terms.size()]);
 		}
 	}
 
@@ -501,7 +497,7 @@
 			}
 			container = container.getParent();
 		}
-		return (String[]) searchTerms.toArray();
+		return searchTerms.toArray();
 	}
 
 	private String getPageName(Control focusControl, Object page) {
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/EngineDescriptorManager.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/EngineDescriptorManager.java
index 9be207b..191f0c2 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/EngineDescriptorManager.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/EngineDescriptorManager.java
@@ -10,17 +10,35 @@
  *******************************************************************************/
 package org.eclipse.help.ui.internal.views;
 
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.io.Reader;
 import java.util.ArrayList;
 import java.util.Hashtable;
 import java.util.Observable;
 
-import javax.xml.parsers.*;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
 
-import org.eclipse.core.runtime.*;
-import org.eclipse.help.ui.internal.*;
-import org.w3c.dom.*;
-import org.xml.sax.*;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.help.ui.internal.HelpUIPlugin;
+import org.eclipse.help.ui.internal.IHelpUIConstants;
+import org.eclipse.help.ui.internal.Messages;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
 
 public class EngineDescriptorManager extends Observable implements IHelpUIConstants {
 	private ArrayList<EngineDescriptor> descriptors;
@@ -68,13 +86,12 @@
 	}
 	
 	public EngineDescriptor[] getDescriptors() {
-		return (EngineDescriptor[]) descriptors
-				.toArray(new EngineDescriptor[descriptors.size()]);
+		return descriptors.toArray(new EngineDescriptor[descriptors.size()]);
 	}
 	
 	public EngineDescriptor findEngine(String engineId) {
 		for (int i=0; i<descriptors.size(); i++) {
-			EngineDescriptor desc = (EngineDescriptor)descriptors.get(i);
+			EngineDescriptor desc = descriptors.get(i);
 			if (desc.getId().equals(engineId))
 				return desc;
 		}
@@ -97,7 +114,7 @@
 			writer.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); //$NON-NLS-1$
 			writer.println("<engines>"); //$NON-NLS-1$
 			for (int i = 0; i < descriptors.size(); i++) {
-				EngineDescriptor desc = (EngineDescriptor) descriptors.get(i);
+				EngineDescriptor desc = descriptors.get(i);
 				if (desc.isUserDefined()) {
 					save(writer, desc);
 				}
@@ -173,8 +190,7 @@
 				}
 			}
 		}
-		engineTypes = (EngineTypeDescriptor[]) list
-				.toArray(new EngineTypeDescriptor[list.size()]);
+		engineTypes = list.toArray(new EngineTypeDescriptor[list.size()]);
 		return result;
 	}
 
@@ -243,7 +259,7 @@
 	public String computeNewId(String typeId) {
 		ArrayList<Integer> used = new ArrayList<>();
 		for (int i=0; i<descriptors.size(); i++) {
-			EngineDescriptor ed = (EngineDescriptor)descriptors.get(i);
+			EngineDescriptor ed = descriptors.get(i);
 			if (!ed.isUserDefined()) continue;
 			String edTypeId = ed.getEngineTypeId();
 			if (typeId.equals(edTypeId)) {
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/EngineResultSection.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/EngineResultSection.java
index 6f5d91b..6a6f912 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/EngineResultSection.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/EngineResultSection.java
@@ -288,14 +288,13 @@
 			if (part.parent.isFilteredByRoles()) {
 				list = new ArrayList<>();
 				for (int i = 0; i < hits.size(); i++) {
-					ISearchEngineResult hit = (ISearchEngineResult) hits.get(i);
+					ISearchEngineResult hit = hits.get(i);
 					if (HelpBasePlugin.getActivitySupport().isEnabled(hit.getHref()))
 						list.add(hit);
 				}
 			}
 		}
-		ISearchEngineResult[] results = (ISearchEngineResult[]) list.toArray(new ISearchEngineResult[list
-				.size()]);
+		ISearchEngineResult[] results = list.toArray(new ISearchEngineResult[list.size()]);
 		if (part.getShowCategories())
 			sorter.sort(null, results);
 		return results;
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/HelpView.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/HelpView.java
index 78cae5a..59fa809 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/HelpView.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/HelpView.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2011 IBM Corporation and others.
+ * Copyright (c) 2000, 2016 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
@@ -10,15 +10,33 @@
  *******************************************************************************/
 package org.eclipse.help.ui.internal.views;
 
-import org.eclipse.help.*;
+import org.eclipse.help.IContext;
+import org.eclipse.help.IContextProvider;
+import org.eclipse.help.IHelpResource;
 import org.eclipse.help.internal.HelpPlugin;
-import org.eclipse.help.ui.internal.*;
+import org.eclipse.help.ui.internal.IHelpUIConstants;
+import org.eclipse.help.ui.internal.Messages;
 import org.eclipse.jface.dialogs.IPageChangeProvider;
 import org.eclipse.jface.dialogs.IPageChangedListener;
 import org.eclipse.jface.dialogs.PageChangedEvent;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
+import org.eclipse.jface.viewers.IPostSelectionProvider;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.IPartListener2;
+import org.eclipse.ui.IPartService;
+import org.eclipse.ui.IViewSite;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchPartReference;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.forms.HyperlinkGroup;
 import org.eclipse.ui.forms.widgets.FormToolkit;
 import org.eclipse.ui.part.ViewPart;
@@ -123,8 +141,7 @@
 		Display display = part.getSite().getShell().getDisplay();
 		Control c = display.getFocusControl();
 		if (c != null && c.isVisible() && !c.isDisposed()) {
-			IContextProvider provider = (IContextProvider) part
-					.getAdapter(IContextProvider.class);
+			IContextProvider provider = part.getAdapter(IContextProvider.class);
 			if (provider != null) {
 				reusableHelpPart.update(provider, null, part, c, false);
 				if ((provider.getContextChangeMask() & IContextProvider.SELECTION) != 0) {
@@ -194,8 +211,7 @@
 		Control c = monitoredPart.getSite().getShell().getDisplay()
 				.getFocusControl();
 		if (c != null && c.isDisposed() == false && visible) {
-			IContextProvider provider = (IContextProvider) monitoredPart
-			.getAdapter(IContextProvider.class);
+			IContextProvider provider = monitoredPart.getAdapter(IContextProvider.class);
 			if (provider != null)
 				reusableHelpPart.update(provider, null, monitoredPart, c, false);
 			else
@@ -361,8 +377,7 @@
 				// check if there is a dynamic version
 				IContextProvider provider = null;
 				if (part!=null)
-						provider = (IContextProvider) part
-						.getAdapter(IContextProvider.class);
+					provider = part.getAdapter(IContextProvider.class);
 
 				reusableHelpPart.update(provider, context, part, control, true);
 			}
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/IndexPart.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/IndexPart.java
index 0004d1d..8e3e636 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/IndexPart.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/IndexPart.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2006, 2011 Intel Corporation and others.
+ * Copyright (c) 2006, 2016 Intel 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
@@ -104,7 +104,7 @@
 			} else if (element instanceof IHelpResource) {
 				return isEnabled((IHelpResource) element);
 			} else if (element instanceof IIndexSee) {
-				return isEnabled((IIndexSee) element);
+				return isEnabled(element);
 			}
 			return false;
 		}
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ReusableHelpPart.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ReusableHelpPart.java
index 3cd5821..b48eed4 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ReusableHelpPart.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ReusableHelpPart.java
@@ -400,7 +400,7 @@
 		}
 
 		public PartRec[] getParts() {
-			return (PartRec[]) partRecs.toArray(new PartRec[partRecs.size()]);
+			return partRecs.toArray(new PartRec[partRecs.size()]);
 		}
 		
 		public void refreshPage()
@@ -420,7 +420,7 @@
 
 		public boolean canOpen() {
 			for (int i = 0; i < partRecs.size(); i++) {
-				PartRec rec = (PartRec) partRecs.get(i);
+				PartRec rec = partRecs.get(i);
 
 				if (rec.id.equals(IHelpUIConstants.HV_BROWSER)) {
 					// Try to create a browser and watch
@@ -441,7 +441,7 @@
 
 		public void stop() {
 			for (int i = 0; i < partRecs.size(); i++) {
-				PartRec rec = (PartRec) partRecs.get(i);
+				PartRec rec = partRecs.get(i);
 				if (rec.part!=null)
 					rec.part.stop();
 			}
@@ -449,7 +449,7 @@
 		
 		public void saveState(IMemento memento) {
 			for (int i = 0; i < partRecs.size(); i++) {
-				PartRec rec = (PartRec) partRecs.get(i);
+				PartRec rec = partRecs.get(i);
 				if (rec.part!=null)
 					rec.part.saveState(memento);
 			}
@@ -457,7 +457,7 @@
 
 		public void toggleRoleFilter() {
 			for (int i = 0; i < partRecs.size(); i++) {
-				PartRec rec = (PartRec) partRecs.get(i);
+				PartRec rec = partRecs.get(i);
 				if (rec.part != null)
 					rec.part.toggleRoleFilter();
 			}
@@ -465,7 +465,7 @@
 
 		public void refilter() {
 			for (int i = 0; i < partRecs.size(); i++) {
-				PartRec rec = (PartRec) partRecs.get(i);
+				PartRec rec = partRecs.get(i);
 				if (rec.part != null)
 					rec.part.refilter();
 			}
@@ -476,7 +476,7 @@
 				bars.clearGlobalActionHandlers();
 			ArrayList<Control> tabList = new ArrayList<>();
 			for (int i = 0; i < partRecs.size(); i++) {
-				PartRec rec = (PartRec) partRecs.get(i);
+				PartRec rec = partRecs.get(i);
 				if (visible) {
 					createRecPart(rec);
 					hookGlobalAction(ActionFactory.PRINT.getId(), rec.part);
@@ -487,8 +487,7 @@
 				rec.part.setVisible(visible);
 			}
 			Composite parent = mform.getForm().getBody();
-			parent.setTabList((Control[]) tabList.toArray(new Control[tabList
-					.size()]));
+			parent.setTabList(tabList.toArray(new Control[tabList.size()]));
 
 			if (actionBars != null) {
 				actionBars.clearGlobalActionHandlers();
@@ -540,7 +539,7 @@
 
 		public IHelpPart findPart(String id) {
 			for (int i = 0; i < partRecs.size(); i++) {
-				PartRec rec = (PartRec) partRecs.get(i);
+				PartRec rec = partRecs.get(i);
 				if (rec.id.equals(id))
 					return rec.part;
 			}
@@ -550,7 +549,7 @@
 		public void setFocus() {
 			// Focus on the first part that is not the see also links or missing content link
 			for (int focusPart = 0; focusPart < partRecs.size(); focusPart++) {
-				PartRec rec = (PartRec) partRecs.get(focusPart);
+				PartRec rec = partRecs.get(focusPart);
 				String partId = rec.part.getId();
 				if ( partId != IHelpUIConstants.HV_SEE_ALSO && partId != IHelpUIConstants.HV_MISSING_CONTENT) { 
 				    rec.part.setFocus();
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ReusableHelpPartHistory.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ReusableHelpPartHistory.java
index 6dc6a3b..0b90e4e 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ReusableHelpPartHistory.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ReusableHelpPartHistory.java
@@ -58,13 +58,13 @@
 
 	public HistoryEntry next() {
 		if (hasNext()) {
-			return (HistoryEntry)queue.get(++cursor);
+			return queue.get(++cursor);
 		}
 		return null;
 	}
 	public HistoryEntry prev() {
 		if (hasPrev()) {
-			return (HistoryEntry)queue.get(--cursor);
+			return queue.get(--cursor);
 		}
 		return null;
 	}
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ScopePreferenceDialog.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ScopePreferenceDialog.java
index f0fa1f5..e98a5f2 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ScopePreferenceDialog.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ScopePreferenceDialog.java
@@ -14,14 +14,23 @@
 
 import org.eclipse.help.ui.internal.Messages;
 import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.preference.*;
-import org.eclipse.jface.viewers.*;
+import org.eclipse.jface.preference.IPreferenceNode;
+import org.eclipse.jface.preference.PreferenceDialog;
+import org.eclipse.jface.preference.PreferenceManager;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
+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.Control;
+import org.eclipse.swt.widgets.Shell;
 
 public class ScopePreferenceDialog extends PreferenceDialog {
 	private EngineDescriptorManager descManager;
@@ -150,7 +159,7 @@
 		if (pendingOperations!=null) {
 			// process pending operations
 			for (int i=0; i<pendingOperations.size(); i++) {
-				PendingOperation op = (PendingOperation)pendingOperations.get(i);
+				PendingOperation op = pendingOperations.get(i);
 				if (op.action==NEW_ID)
 					descManager.add(op.desc);
 				else
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ScopeSetDialog.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ScopeSetDialog.java
index d255dd2..42605d1 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ScopeSetDialog.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ScopeSetDialog.java
@@ -313,7 +313,7 @@
 	protected void okPressed() {
     	if (operations!=null) {
     		for (int i=0; i<operations.size(); i++) {
-    			PendingOperation operation = (PendingOperation)operations.get(i);
+				PendingOperation operation = operations.get(i);
     			operation.commit();
     		}
     		operations = null;
@@ -345,7 +345,7 @@
 	protected void cancelPressed() {
     	if (operations!=null) {
     		for (int i=0; i<operations.size(); i++) {
-    			PendingOperation operation = (PendingOperation)operations.get(i);
+				PendingOperation operation = operations.get(i);
     			operation.cancel();
     		}
     		operations = null;
@@ -388,7 +388,7 @@
 	private String getDefaultName() {
 		Set<String> namesInUse = new HashSet<>();
 		for (int i=0; i<sets.size(); i++) {
-		    ScopeSet set = (ScopeSet)sets.get(i);
+			ScopeSet set = sets.get(i);
 		    namesInUse.add(set.getName().toLowerCase());
 	    }
 		for (int i = 1; i < 1000; i++) {
@@ -444,7 +444,7 @@
 	private String getNewName(String oldName, boolean isRename) {
 		RenameDialog dialog = new RenameDialog(getShell(), oldName);
 		for (int i=0; i<sets.size(); i++) {
-			ScopeSet set = (ScopeSet)sets.get(i);
+			ScopeSet set = sets.get(i);
 			dialog.addOldName(set.getName());
 		}
 		dialog.create();
@@ -491,7 +491,7 @@
 	private PendingOperation findOperation(ScopeSet set, Class type) {
 		if (operations!=null) {
 			for (int i=0; i<operations.size(); i++) {
-				PendingOperation op = (PendingOperation)operations.get(i);
+				PendingOperation op = operations.get(i);
 				if (op.getClass().equals(type)) {
 					if (op.set.equals(set))
 						return op;
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ScopeSetManager.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ScopeSetManager.java
index 64091b0..461697f 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ScopeSetManager.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/ScopeSetManager.java
@@ -10,7 +10,8 @@
  *******************************************************************************/
 package org.eclipse.help.ui.internal.views;
 
-import java.io.*;
+import java.io.File;
+import java.io.FilenameFilter;
 import java.util.ArrayList;
 import java.util.Observable;
 
@@ -79,7 +80,7 @@
 	public void save() {
 		ensureLocation();
 		for (int i = 0; i < sets.size(); i++) {
-			ScopeSet set = (ScopeSet) sets.get(i);
+			ScopeSet set = sets.get(i);
 			set.save();
 		}
 		IDialogSettings settings = HelpUIPlugin.getDefault()
@@ -91,13 +92,13 @@
 	public ScopeSet[] getScopeSets(boolean implicit) {
 		ArrayList<ScopeSet> result = new ArrayList<>();
 		for (int i = 0; i < sets.size(); i++) {
-			ScopeSet set = (ScopeSet) sets.get(i);
+			ScopeSet set = sets.get(i);
 			if (set.isImplicit() == implicit)
 				result.add(set);
 			if (!implicit && set.isImplicit() && activeSet==set)
 				result.add(set);
 		}
-		return (ScopeSet[]) result.toArray(new ScopeSet[result.size()]);
+		return result.toArray(new ScopeSet[result.size()]);
 	}
 
 	private void loadScopeSets() {
@@ -133,7 +134,7 @@
 			}
 		}
 		if (sets.size() == 1) {
-			activeSet = (ScopeSet) sets.get(0);
+			activeSet = sets.get(0);
 		}
 		if (defSet == null) {
 			defSet = new ScopeSet();
@@ -156,7 +157,7 @@
 			String name = settings.get(ACTIVE_SET);
 			activeSet = findSet(name);
 			if (activeSet == null) {
-				return (ScopeSet) sets.get(0);
+				return sets.get(0);
 			}
 			if (!activeSet.isImplicit())
 				lastExplicitSet = activeSet;
@@ -170,7 +171,7 @@
 
 	public HistoryScopeSet findSearchSet(String expression) {
 		for (int i = 0; i < sets.size(); i++) {
-			ScopeSet set = (ScopeSet) sets.get(i);
+			ScopeSet set = sets.get(i);
 			if (!set.isImplicit() || !(set instanceof HistoryScopeSet))
 				continue;
 			HistoryScopeSet sset = (HistoryScopeSet) set;
@@ -183,7 +184,7 @@
 	public ScopeSet findSet(String name, boolean implicit) {
 		ScopeSet defaultSet = null;
 		for (int i = 0; i < sets.size(); i++) {
-			ScopeSet set = (ScopeSet) sets.get(i);
+			ScopeSet set = sets.get(i);
 			if (name != null && set.isImplicit() == implicit) {
 				if (set.getName().equals(name))
 					return set;
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/SearchPart.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/SearchPart.java
index e471148..971e305 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/SearchPart.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/SearchPart.java
@@ -536,11 +536,11 @@
 			items.add(sset.getExpression());
 		}
 		for (int i = 0; i < toDelete.size(); i++) {
-			HistoryScopeSet sset = (HistoryScopeSet) toDelete.get(i);
+			HistoryScopeSet sset = toDelete.get(i);
 			scopeSetManager.remove(sset);
 		}
 		if (items.size() > 0)
-			searchWordCombo.setItems((String[]) items.toArray(new String[items.size()]));
+			searchWordCombo.setItems(items.toArray(new String[items.size()]));
 	}
 
 	private void handleButtonPressed() {
@@ -628,8 +628,7 @@
 		}
 		if (entries.size() == 0)
 			return;
-		FederatedSearchEntry[] array = (FederatedSearchEntry[]) entries
-				.toArray(new FederatedSearchEntry[entries.size()]);
+		FederatedSearchEntry[] array = entries.toArray(new FederatedSearchEntry[entries.size()]);
 		if (scopeSection.isExpanded()) {
 			scopeSection.setExpanded(false);
 			parent.reflow();
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/SearchResultsPart.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/SearchResultsPart.java
index 25e2195..ccb5b1e 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/SearchResultsPart.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/views/SearchResultsPart.java
@@ -175,8 +175,7 @@
 		BusyIndicator.showWhile(container.getDisplay(), new Runnable() {
 			public void run() {
 				for (int i = 0; i < results.size(); i++) {
-					EngineResultSection section = (EngineResultSection) results
-							.get(i);
+					EngineResultSection section = results.get(i);
 					section.updateResults(false);
 				}
 				reflow();
@@ -232,7 +231,7 @@
 
 	void clearResultSections() {
 		for (int i = 0; i < results.size(); i++) {
-			EngineResultSection section = (EngineResultSection) results.get(i);
+			EngineResultSection section = results.get(i);
 			section.dispose();
 		}
 		results.clear();
@@ -266,14 +265,14 @@
 	
 	void completed() {
 		for (int i = 0; i < results.size(); i++) {
-			EngineResultSection section = (EngineResultSection) results.get(i);
+			EngineResultSection section = results.get(i);
 			section.completed();
 		}
 	}
 	
 	void canceling() {
 		for (int i = 0; i < results.size(); i++) {
-			EngineResultSection section = (EngineResultSection) results.get(i);
+			EngineResultSection section = results.get(i);
 			section.canceling();
 		}
 	}
@@ -324,7 +323,7 @@
 	 */
 	public boolean hasFocusControl(Control control) {
 		for (int i = 0; i < results.size(); i++) {
-			EngineResultSection er = (EngineResultSection) results.get(i);
+			EngineResultSection er = results.get(i);
 			if (er.hasControl(control))
 				return true;
 		}
@@ -351,7 +350,7 @@
 	private synchronized EngineResultSection findEngineResult(
 			EngineDescriptor ed) {
 		for (int i = 0; i < results.size(); i++) {
-			EngineResultSection er = (EngineResultSection) results.get(i);
+			EngineResultSection er = results.get(i);
 			if (er.matches(ed))
 				return er;
 		}