tcl.debug.ui: Move to Java 8.

Enable warnings, fix them and enable save actions.

Change-Id: If8ae903766673e216c5baf9f0fb4084619a13afe
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/.classpath b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/.classpath
index 64c5e31..eca7bdb 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/.classpath
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/.settings/org.eclipse.jdt.core.prefs b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/.settings/org.eclipse.jdt.core.prefs
index c989de5..2053e50 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,7 +1,104 @@
-#Thu Feb 05 13:48:46 NOVT 2009
 eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
+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.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+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=warning
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
+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=warning
+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=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+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=ignore
+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=warning
+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=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+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=disabled
+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.unlikelyCollectionMethodArgumentType=warning
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
+org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=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
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/.settings/org.eclipse.jdt.ui.prefs b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..fbac55c
--- /dev/null
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,59 @@
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+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=true
+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=false
+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=true
+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=true
+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=true
+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/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/META-INF/MANIFEST.MF b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/META-INF/MANIFEST.MF
index 7b2dde7..c2346f4 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/META-INF/MANIFEST.MF
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/META-INF/MANIFEST.MF
@@ -38,5 +38,5 @@
  org.eclipse.dltk.tcl.internal.debug.ui.preferences
 Eclipse-LazyStart: true
 Bundle-Activator: org.eclipse.dltk.tcl.internal.debug.ui.TclDebugUIPlugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/AbstractPulldownAction.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/AbstractPulldownAction.java
index 15a8dbf..8a555c2 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/AbstractPulldownAction.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/AbstractPulldownAction.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2009 xored software, Inc.  
+ * Copyright (c) 2009, 2017 xored software, Inc. 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
- * http://www.eclipse.org/legal/epl-v10.html  
+ * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
  *     xored software, Inc. - initial API and Implementation (Alex Panchenko)
@@ -29,11 +29,10 @@
  * <p>
  * Clients may subclass this class.
  * </p>
- * 
+ *
  * @since 2.0
  */
-public abstract class AbstractPulldownAction implements
-		IWorkbenchWindowPulldownDelegate2 {
+public abstract class AbstractPulldownAction implements IWorkbenchWindowPulldownDelegate2 {
 
 	/**
 	 * The menu created by this action
@@ -46,14 +45,14 @@
 	private IAction fAction;
 
 	/**
-	 * Indicates whether the launch history has changed and the sub menu needs
-	 * to be recreated.
+	 * Indicates whether the launch history has changed and the sub menu needs to be
+	 * recreated.
 	 */
 	protected boolean fRecreateMenu = false;
 
 	/**
 	 * Sets the action used to render this delegate.
-	 * 
+	 *
 	 * @param action
 	 *            the action used to render this delegate
 	 */
@@ -63,7 +62,7 @@
 
 	/**
 	 * Returns the action used to render this delegate.
-	 * 
+	 *
 	 * @return the action used to render this delegate
 	 */
 	protected IAction getAction() {
@@ -71,9 +70,9 @@
 	}
 
 	/**
-	 * Adds the given action to the specified menu with an accelerator specified
-	 * by the given number.
-	 * 
+	 * Adds the given action to the specified menu with an accelerator specified by
+	 * the given number.
+	 *
 	 * @param menu
 	 *            the menu to add the action to
 	 * @param action
@@ -88,10 +87,10 @@
 	}
 
 	/**
-	 * Initialize this action so that it can dynamically set its tool-tip. Also
-	 * set the enabled state of the underlying action based on whether there are
-	 * any registered launch configuration types that understand how to launch
-	 * in the mode of this action.
+	 * Initialize this action so that it can dynamically set its tool-tip. Also set
+	 * the enabled state of the underlying action based on whether there are any
+	 * registered launch configuration types that understand how to launch in the
+	 * mode of this action.
 	 */
 	private void initialize(IAction action) {
 		setAction(action);
@@ -111,16 +110,12 @@
 		// FIXME getAction().setToolTipText(getToolTip());
 	}
 
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
+	@Override
 	public void dispose() {
 		setMenu(null);
 	}
 
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWindowPulldownDelegate#getMenu(org.eclipse.swt.widgets.Control)
-	 */
+	@Override
 	public Menu getMenu(Control parent) {
 		setMenu(new Menu(parent));
 		fillMenu(fMenu);
@@ -128,9 +123,7 @@
 		return fMenu;
 	}
 
-	/**
-	 * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu)
-	 */
+	@Override
 	public Menu getMenu(Menu parent) {
 		setMenu(new Menu(parent));
 		fillMenu(fMenu);
@@ -162,7 +155,7 @@
 
 	/**
 	 * Sets this action's drop-down menu, disposing the previous menu.
-	 * 
+	 *
 	 * @param menu
 	 *            the new menu
 	 */
@@ -175,7 +168,7 @@
 
 	/**
 	 * Fills the drop-down menu with favorites and launch history
-	 * 
+	 *
 	 * @param menu
 	 *            the menu to fill
 	 */
@@ -183,7 +176,7 @@
 
 	/**
 	 * Adds a separator to the given menu
-	 * 
+	 *
 	 * @param menu
 	 */
 	protected void addSeparator(Menu menu) {
@@ -198,26 +191,19 @@
 		return menu2;
 	}
 
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
+	@Override
 	public void run(IAction action) {
 		// do nothing - this is just a menu
 	}
 
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
+	@Override
 	public void selectionChanged(IAction action, ISelection selection) {
 		if (fAction == null) {
 			initialize(action);
 		}
 	}
 
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
+	@Override
 	public void init(IWorkbenchWindow window) {
 		//
 	}
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/OpenConsoleAction.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/OpenConsoleAction.java
index 8a11eec..65d7dc9 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/OpenConsoleAction.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/OpenConsoleAction.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2009 xored software, Inc.  
+ * Copyright (c) 2009, 2017 xored software, Inc. 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
- * http://www.eclipse.org/legal/epl-v10.html  
+ * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
  *     xored software, Inc. - initial API and Implementation (Alex Panchenko)
@@ -13,7 +13,6 @@
 
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Comparator;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -62,10 +61,8 @@
 
 	@Override
 	public void dispose() {
-		ScriptRuntime
-				.removeInterpreterInstallChangedListener(interpreterListener);
-		EnvironmentManager
-				.removeEnvironmentChangedListener(environmentListener);
+		ScriptRuntime.removeInterpreterInstallChangedListener(interpreterListener);
+		EnvironmentManager.removeEnvironmentChangedListener(environmentListener);
 		super.dispose();
 	}
 
@@ -78,22 +75,20 @@
 		 * @param menu
 		 */
 		private OpenInstallConsoleAction(IInterpreterInstall install) {
-			super(NLS.bind("{0} ({1})", install.getName(), install
-					.getInstallLocation().toOSString()));
+			super(NLS.bind("{0} ({1})", install.getName(), install.getInstallLocation().toOSString()));
 			this.install = install;
 		}
 
 		@Override
 		public void run() {
-			new TclConsoleFactory().openConsole(install, NLS.bind("{0} - {1}",
-					install.getEnvironment().getName(), install
-							.getInstallLocation().toOSString()));
+			new TclConsoleFactory().openConsole(install, NLS.bind("{0} - {1}", install.getEnvironment().getName(),
+					install.getInstallLocation().toOSString()));
 		}
 	}
 
 	private static class EnvironmentEntry {
 		final IEnvironment environment;
-		final List<IInterpreterInstall> installs = new ArrayList<IInterpreterInstall>();
+		final List<IInterpreterInstall> installs = new ArrayList<>();
 
 		public EnvironmentEntry(IEnvironment environment) {
 			this.environment = environment;
@@ -104,26 +99,22 @@
 	@Override
 	protected void fillMenu(final Menu menu) {
 		// collect environments
-		final Map<String, EnvironmentEntry> environments = new HashMap<String, EnvironmentEntry>();
+		final Map<String, EnvironmentEntry> environments = new HashMap<>();
 		for (IEnvironment environment : EnvironmentManager.getEnvironments()) {
-			environments.put(environment.getId(), new EnvironmentEntry(
-					environment));
+			environments.put(environment.getId(), new EnvironmentEntry(environment));
 		}
 		// collect interpreters
-		for (IInterpreterInstallType type : ScriptRuntime
-				.getInterpreterInstallTypes(TclNature.NATURE_ID)) {
+		for (IInterpreterInstallType type : ScriptRuntime.getInterpreterInstallTypes(TclNature.NATURE_ID)) {
 			IInterpreterInstall[] installs = type.getInterpreterInstalls();
 			for (IInterpreterInstall install : installs) {
-				final EnvironmentEntry entry = environments.get(install
-						.getEnvironmentId());
+				final EnvironmentEntry entry = environments.get(install.getEnvironmentId());
 				if (entry != null) {
 					entry.installs.add(install);
 				}
 			}
 		}
 		// copy to list
-		final List<EnvironmentEntry> list = new ArrayList<EnvironmentEntry>(
-				environments.values());
+		final List<EnvironmentEntry> list = new ArrayList<>(environments.values());
 		// remove hosts without interpreters
 		for (Iterator<EnvironmentEntry> i = list.iterator(); i.hasNext();) {
 			final EnvironmentEntry entry = i.next();
@@ -132,27 +123,18 @@
 			}
 		}
 		// sort
-		Collections.sort(list, new Comparator<EnvironmentEntry>() {
-			public int compare(EnvironmentEntry o1, EnvironmentEntry o2) {
-				if (o1.environment.isLocal() != o2.environment.isLocal()) {
-					return o1.environment.isLocal() ? -1 : +1;
-				}
-				return o1.environment.getName().compareToIgnoreCase(
-						o2.environment.getName());
+		Collections.sort(list, (o1, o2) -> {
+			if (o1.environment.isLocal() != o2.environment.isLocal()) {
+				return o1.environment.isLocal() ? -1 : +1;
 			}
+			return o1.environment.getName().compareToIgnoreCase(o2.environment.getName());
 		});
 		for (EnvironmentEntry entry : list) {
 			// final IInterpreterInstall defaultInstall = ScriptRuntime
 			// .getDefaultInterpreterInstall(new DefaultInterpreterEntry(
 			// TclNature.NATURE_ID, entry.environment.getId()));
 			final Menu eMenu = addSubmenu(menu, entry.environment.getName());
-			Collections.sort(entry.installs,
-					new Comparator<IInterpreterInstall>() {
-						public int compare(IInterpreterInstall o1,
-								IInterpreterInstall o2) {
-							return o1.getName().compareTo(o2.getName());
-						}
-					});
+			Collections.sort(entry.installs, (o1, o2) -> o1.getName().compareTo(o2.getName()));
 			for (final IInterpreterInstall install : entry.installs) {
 				addToMenu(eMenu, new OpenInstallConsoleAction(install));
 			}
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/TclConsoleCompletionProcessor.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/TclConsoleCompletionProcessor.java
index 3eb5b40..a1c41ee 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/TclConsoleCompletionProcessor.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/TclConsoleCompletionProcessor.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2016 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 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,62 +18,61 @@
 import org.eclipse.dltk.ui.DLTKPluginImages;
 import org.eclipse.jface.text.ITextViewer;
 import org.eclipse.jface.text.TextPresentation;
+import org.eclipse.jface.text.contentassist.CompletionProposal;
 import org.eclipse.jface.text.contentassist.ICompletionProposal;
 import org.eclipse.jface.text.contentassist.IContextInformation;
 import org.eclipse.jface.text.contentassist.IContextInformationPresenter;
 import org.eclipse.jface.text.contentassist.IContextInformationValidator;
 import org.eclipse.swt.graphics.Image;
 
+public class TclConsoleCompletionProcessor extends ScriptConsoleCompletionProcessor {
 
-public class TclConsoleCompletionProcessor extends
-		ScriptConsoleCompletionProcessor {
-
-	protected static class Validator implements IContextInformationValidator,
-			IContextInformationPresenter {
+	protected static class Validator implements IContextInformationValidator, IContextInformationPresenter {
 
 		protected int installOffset;
 
+		@Override
 		public boolean isContextInformationValid(int offset) {
 			return Math.abs(installOffset - offset) < 5;
 		}
 
-		public void install(IContextInformation info, ITextViewer viewer,
-				int offset) {
+		@Override
+		public void install(IContextInformation info, ITextViewer viewer, int offset) {
 			installOffset = offset;
 		}
 
-		public boolean updatePresentation(int documentPosition,
-				TextPresentation presentation) {
+		@Override
+		public boolean updatePresentation(int documentPosition, TextPresentation presentation) {
 			return false;
 		}
 	}
 
 	protected IProposalDecorator tclDecorator = new IProposalDecorator() {
+		@Override
 		public String formatProposal(ScriptConsoleCompletionProposal c) {
 			return c.getDisplay();
 		}
 
+		@Override
 		public Image getImage(ScriptConsoleCompletionProposal c) {
 			String type = c.getType();
-			if (type.equals("var")){
-				return DLTKPluginImages
-				.get(DLTKPluginImages.IMG_OBJS_LOCAL_VARIABLE); 
-			} else if (type.equals("proc")){
+			if (type.equals("var")) {
+				return DLTKPluginImages.get(DLTKPluginImages.IMG_OBJS_LOCAL_VARIABLE);
+			} else if (type.equals("proc")) {
 				return DLTKPluginImages.get(DLTKPluginImages.IMG_METHOD_PUBLIC);
-			} else if (type.equals("command")){
+			} else if (type.equals("command")) {
 				return DLTKPluginImages.get(DLTKPluginImages.IMG_METHOD_PRIVATE);
-			} else if (type.equals("func")){
+			} else if (type.equals("func")) {
 				return DLTKPluginImages.get(DLTKPluginImages.IMG_OBJS_FIELD);
 			}
-			
-			return null; 
+
+			return null;
 		}
 	};
-	
+
 	private IContextInformationValidator validator;
-	
-	public TclConsoleCompletionProcessor(
-			IScriptConsoleShell interpreterShell) {
+
+	public TclConsoleCompletionProcessor(IScriptConsoleShell interpreterShell) {
 		super(interpreterShell);
 	}
 
@@ -83,20 +82,17 @@
 	}
 
 	@Override
-	protected ICompletionProposal[] computeCompletionProposalsImpl(
-			IScriptConsoleViewer viewer, int offset) {
+	protected ICompletionProposal[] computeCompletionProposalsImpl(IScriptConsoleViewer viewer, int offset) {
 
 		try {
 			String commandLine = viewer.getCommandLine();
 			int cursorPosition = offset - viewer.getCommandLineOffset();
 
-			List list = getInterpreterShell().getCompletions(commandLine,
-					cursorPosition);
+			List list = getInterpreterShell().getCompletions(commandLine, cursorPosition);
 
-			List proposals = createProposalsFromString(list, offset, tclDecorator);
+			List<CompletionProposal> proposals = createProposalsFromString(list, offset, tclDecorator);
 
-			return (ICompletionProposal[]) proposals
-					.toArray(new ICompletionProposal[proposals.size()]);
+			return proposals.toArray(new ICompletionProposal[proposals.size()]);
 		} catch (IOException e) {
 			e.printStackTrace();
 		}
@@ -105,11 +101,11 @@
 	}
 
 	@Override
-	protected IContextInformation[] computeContextInformationImpl(
-			ITextViewer viewer, int offset) {
+	protected IContextInformation[] computeContextInformationImpl(ITextViewer viewer, int offset) {
 		return null;
 	}
 
+	@Override
 	public IContextInformationValidator getContextInformationValidator() {
 		if (validator == null) {
 			validator = new Validator();
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/TclConsoleFactory.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/TclConsoleFactory.java
index 65b720a..d47eb28 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/TclConsoleFactory.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/TclConsoleFactory.java
@@ -1,11 +1,11 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 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
  * http://www.eclipse.org/legal/epl-v10.html
  *
- 
+
  *******************************************************************************/
 package org.eclipse.dltk.tcl.internal.console.ui;
 
@@ -38,17 +38,15 @@
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.dialogs.PreferencesUtil;
 
-public class TclConsoleFactory extends ScriptConsoleFactoryBase implements
-		IScriptConsoleFactory {
+public class TclConsoleFactory extends ScriptConsoleFactoryBase implements IScriptConsoleFactory {
 	protected IPreferenceStore getPreferenceStore() {
 		return TclDebugUIPlugin.getDefault().getPreferenceStore();
 	}
 
 	protected ScriptConsolePrompt makeInvitation() {
 		IPreferenceStore store = getPreferenceStore();
-		return new ScriptConsolePrompt(store
-				.getString(TclConsoleConstants.PREF_NEW_PROMPT), store
-				.getString(TclConsoleConstants.PREF_CONTINUE_PROMPT));
+		return new ScriptConsolePrompt(store.getString(TclConsoleConstants.PREF_NEW_PROMPT),
+				store.getString(TclConsoleConstants.PREF_CONTINUE_PROMPT));
 	}
 
 	protected TclConsole makeConsole(TclInterpreter interpreter, String id) {
@@ -67,46 +65,39 @@
 		preferencePageId = languageToolkit.getInterpreterPreferencePage();
 
 		if (preferencePageId != null) {
-			PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(
-					null, preferencePageId, null, null);
+			PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(null, preferencePageId, null, null);
 			dialog.open();
 		}
 	}
 
 	private void showQuestion() {
 		final boolean result[] = new boolean[] { false };
-		DLTKDebugUIPlugin.getStandardDisplay().syncExec(new Runnable() {
-			public void run() {
-				String title = LaunchingMessages.NoDefaultInterpreterStatusHandler_title;
-				String message = LaunchingMessages.NoDefaultInterpreterStatusHandler_message;
-				result[0] = (MessageDialog.openQuestion(DLTKDebugUIPlugin
-						.getActiveWorkbenchShell(), title, message));
-				if (result[0]) {
-					showInterpreterPreferencePage(TclNature.NATURE_ID);
-				}
+		DLTKDebugUIPlugin.getStandardDisplay().syncExec(() -> {
+			String title = LaunchingMessages.NoDefaultInterpreterStatusHandler_title;
+			String message = LaunchingMessages.NoDefaultInterpreterStatusHandler_message;
+			result[0] = (MessageDialog.openQuestion(DLTKDebugUIPlugin.getActiveWorkbenchShell(), title, message));
+			if (result[0]) {
+				showInterpreterPreferencePage(TclNature.NATURE_ID);
 			}
 		});
 	}
 
-	private TclConsole createConsoleInstance(IScriptInterpreter interpreter,
-			String id) {
+	private TclConsole createConsoleInstance(IScriptInterpreter interpreter, String id) {
 		ILaunch launch = null;
 		if (interpreter == null) {
 			try {
 				id = "default"; //$NON-NLS-1$
 				interpreter = new TclInterpreter();
 
-				if (ScriptRuntime.getDefaultInterpreterInstall(
-						TclNature.NATURE_ID, LocalEnvironment.getInstance()) == null) {
+				if (ScriptRuntime.getDefaultInterpreterInstall(TclNature.NATURE_ID,
+						LocalEnvironment.getInstance()) == null) {
 					showQuestion();
-					if (ScriptRuntime
-							.getDefaultInterpreterInstall(TclNature.NATURE_ID,
-									LocalEnvironment.getInstance()) == null) {
+					if (ScriptRuntime.getDefaultInterpreterInstall(TclNature.NATURE_ID,
+							LocalEnvironment.getInstance()) == null) {
 						return null;
 					}
 				}
-				launch = TclConsoleUtil
-						.runDefaultTclInterpreter((TclInterpreter) interpreter);
+				launch = TclConsoleUtil.runDefaultTclInterpreter((TclInterpreter) interpreter);
 			} catch (Exception e) {
 				return null;
 			}
@@ -136,8 +127,8 @@
 	/**
 	 * @since 2.0
 	 */
-	public IScriptConsole openConsole(IScriptInterpreter interpreter,
-			String id, ILaunch launch) {
+	@Override
+	public IScriptConsole openConsole(IScriptInterpreter interpreter, String id, ILaunch launch) {
 		TclConsole tclConsole = createConsoleInstance(interpreter, id);
 		tclConsole.setLaunch(launch);
 		registerAndOpenConsole(tclConsole);
@@ -153,16 +144,13 @@
 		try {
 			launch = TclConsoleUtil.runTclInterpreter(install, interpreter);
 		} catch (Exception e) {
-			ErrorDialog.openError(PlatformUI.getWorkbench()
-					.getActiveWorkbenchWindow().getShell(),
-					"Error Launching Tcl Console", e.toString(), new Status(
-							IStatus.ERROR, TclDebugUIPlugin.PLUGIN_ID, e
-									.getMessage(), e));
+			ErrorDialog.openError(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
+					"Error Launching Tcl Console", e.toString(),
+					new Status(IStatus.ERROR, TclDebugUIPlugin.PLUGIN_ID, e.getMessage(), e));
 			return;
 		}
 		if (launch != null) {
-			IScriptConsole console = openConsole(interpreter, consoleName,
-					launch);
+			IScriptConsole console = openConsole(interpreter, consoleName, launch);
 			final IProcess[] processes = launch.getProcesses();
 			for (IProcess process : processes) {
 				final IStreamsProxy proxy = process.getStreamsProxy();
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/actions/PasteTclScriptToConsole.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/actions/PasteTclScriptToConsole.java
index 8750285..120abf0 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/actions/PasteTclScriptToConsole.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/actions/PasteTclScriptToConsole.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2016 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 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,15 +27,16 @@
 
 	private ISelection selection;
 
+	@Override
 	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
 
 	}
 
+	@Override
 	public void run(IAction action) {
 		ScriptConsoleManager manager = ScriptConsoleManager.getInstance();
 
-		IScriptConsole console = manager
-				.getActiveScriptConsole(TclConsole.CONSOLE_TYPE);
+		IScriptConsole console = manager.getActiveScriptConsole(TclConsole.CONSOLE_TYPE);
 
 		if (console == null) {
 			return;
@@ -54,8 +55,7 @@
 				if (obj instanceof ISourceModule) {
 					ISourceModule mo = (ISourceModule) obj;
 					try {
-						text = "#Tcl source:" + mo.getElementName() + "\n"
-								+ mo.getSource() + "\n";
+						text = "#Tcl source:" + mo.getElementName() + "\n" + mo.getSource() + "\n";
 					} catch (ModelException e) {
 						if (DLTKCore.DEBUG) {
 							e.printStackTrace();
@@ -69,6 +69,7 @@
 		}
 	}
 
+	@Override
 	public void selectionChanged(IAction action, ISelection selection) {
 		this.selection = selection;
 	}
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/actions/PasteTclTextToConsoleAction.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/actions/PasteTclTextToConsoleAction.java
index 47367c1..64c8404 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/actions/PasteTclTextToConsoleAction.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/actions/PasteTclTextToConsoleAction.java
@@ -1,11 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 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
  * http://www.eclipse.org/legal/epl-v10.html
  *
- 
  *******************************************************************************/
 package org.eclipse.dltk.tcl.internal.console.ui.actions;
 
@@ -36,15 +35,16 @@
 		return dp.getDocument(editor.getEditorInput());
 	}
 
+	@Override
 	public void setActiveEditor(IAction action, IEditorPart targetEditor) {
 		this.targetEditor = targetEditor;
 	}
 
+	@Override
 	public void run(IAction action) {
 		ScriptConsoleManager manager = ScriptConsoleManager.getInstance();
 
-		IScriptConsole console = manager
-				.getActiveScriptConsole(TclConsole.CONSOLE_TYPE);
+		IScriptConsole console = manager.getActiveScriptConsole(TclConsole.CONSOLE_TYPE);
 
 		if (console == null) {
 			return;
@@ -56,6 +56,7 @@
 		}
 	}
 
+	@Override
 	public void selectionChanged(IAction action, ISelection selection) {
 		this.selection = selection;
 	}
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/preferences/TclConsolePreferencePage.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/preferences/TclConsolePreferencePage.java
index 493a9d7..e18664f 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/preferences/TclConsolePreferencePage.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/console/ui/preferences/TclConsolePreferencePage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2016 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 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,8 +13,6 @@
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.preference.PreferencePage;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.graphics.Font;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
@@ -26,8 +24,7 @@
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPreferencePage;
 
-public class TclConsolePreferencePage extends PreferencePage implements
-		IWorkbenchPreferencePage {
+public class TclConsolePreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
 
 	private Text newPrompt;
 
@@ -56,13 +53,8 @@
 		newPromptLabel.setText("New command:");
 
 		newPrompt = new Text(group, SWT.BORDER);
-		newPrompt.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				validateValues();
-			}
-		});
-		newPrompt.setLayoutData(new GridData(GridData.FILL, SWT.NONE, true,
-				false));
+		newPrompt.addModifyListener(e -> validateValues());
+		newPrompt.setLayoutData(new GridData(GridData.FILL, SWT.NONE, true, false));
 
 		// Append command
 		Label appendCommandLabel = new Label(group, SWT.NONE);
@@ -70,13 +62,8 @@
 		appendCommandLabel.setText("Append command:");
 
 		appendPrompt = new Text(group, SWT.BORDER);
-		appendPrompt.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				validateValues();
-			}
-		});
-		appendPrompt.setLayoutData(new GridData(GridData.FILL, SWT.NONE, true,
-				false));
+		appendPrompt.addModifyListener(e -> validateValues());
+		appendPrompt.setLayoutData(new GridData(GridData.FILL, SWT.NONE, true, false));
 	}
 
 	@Override
@@ -101,8 +88,7 @@
 
 		newPrompt.setText(store.getString(TclConsoleConstants.PREF_NEW_PROMPT));
 
-		appendPrompt.setText(store
-				.getString(TclConsoleConstants.PREF_CONTINUE_PROMPT));
+		appendPrompt.setText(store.getString(TclConsoleConstants.PREF_CONTINUE_PROMPT));
 	}
 
 	protected void validateValues() {
@@ -118,6 +104,7 @@
 		}
 	}
 
+	@Override
 	public void init(IWorkbench workbench) {
 
 	}
@@ -132,11 +119,8 @@
 	public boolean performOk() {
 		IPreferenceStore store = getPreferenceStore();
 
-		store
-				.setValue(TclConsoleConstants.PREF_NEW_PROMPT, newPrompt
-						.getText());
-		store.setValue(TclConsoleConstants.PREF_CONTINUE_PROMPT, appendPrompt
-				.getText());
+		store.setValue(TclConsoleConstants.PREF_NEW_PROMPT, newPrompt.getText());
+		store.setValue(TclConsoleConstants.PREF_CONTINUE_PROMPT, appendPrompt.getText());
 
 		return true;
 	}
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/TclDebugUILangaugeToolkit.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/TclDebugUILangaugeToolkit.java
index 36204a0..b898380 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/TclDebugUILangaugeToolkit.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/TclDebugUILangaugeToolkit.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2016 Jae Gangemi and others.
+ * Copyright (c) 2016, 2017 Jae Gangemi 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
@@ -16,10 +16,12 @@
 
 public class TclDebugUILangaugeToolkit extends AbstractDebugUILanguageToolkit {
 
+	@Override
 	public String getDebugModelId() {
 		return TclDebugConstants.DEBUG_MODEL_ID;
-	}	
-	
+	}
+
+	@Override
 	public IPreferenceStore getPreferenceStore() {
 		return TclDebugUIPlugin.getDefault().getPreferenceStore();
 	}
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/TclToggleBreakpointAdapter.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/TclToggleBreakpointAdapter.java
index fb4a0fa..98cf0c3 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/TclToggleBreakpointAdapter.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/TclToggleBreakpointAdapter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2016 xored software, Inc.  and others.
+ * Copyright (c) 2016, 2017 xored software, Inc. 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,8 +51,7 @@
 import org.eclipse.ui.texteditor.IDocumentProvider;
 import org.eclipse.ui.texteditor.ITextEditor;
 
-public class TclToggleBreakpointAdapter extends ScriptToggleBreakpointAdapter
-		implements IToggleSpawnpointsTarget {
+public class TclToggleBreakpointAdapter extends ScriptToggleBreakpointAdapter implements IToggleSpawnpointsTarget {
 	private static final IScriptBreakpointLineValidator validator = ScriptBreakpointLineValidatorFactory
 			.createNonEmptyNoCommentValidator("#"); //$NON-NLS-1$
 
@@ -66,18 +65,18 @@
 		return validator;
 	}
 
-	public void toggleMethodBreakpoints(IWorkbenchPart part,
-			ISelection selection) throws CoreException {
+	@Override
+	public void toggleMethodBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
 		// Not implemented for TCL yet
 	}
 
-	public boolean canToggleMethodBreakpoints(IWorkbenchPart part,
-			ISelection selection) {
+	@Override
+	public boolean canToggleMethodBreakpoints(IWorkbenchPart part, ISelection selection) {
 		return false;
 	}
 
-	public boolean canToggleWatchpoints(IWorkbenchPart part,
-			ISelection selection) {
+	@Override
+	public boolean canToggleWatchpoints(IWorkbenchPart part, ISelection selection) {
 		if (isRemote(part, selection)) {
 			return false;
 		}
@@ -88,19 +87,17 @@
 		return selection instanceof ITextSelection;
 	}
 
-	public void toggleWatchpoints(final IWorkbenchPart part,
-			final ISelection finalSelection) throws CoreException {
+	@Override
+	public void toggleWatchpoints(final IWorkbenchPart part, final ISelection finalSelection) throws CoreException {
 		report(null, part);
 		ISelection selection = finalSelection;
 		int lineNumber = -1;
 		IResource resource = ResourcesPlugin.getWorkspace().getRoot();
-		IBreakpoint[] breakpoints = DebugPlugin.getDefault()
-				.getBreakpointManager().getBreakpoints(getDebugModelId());
+		IBreakpoint[] breakpoints = DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(getDebugModelId());
 		if (selection instanceof ITextSelection && part instanceof ITextEditor) {
 			// one based line number
 			lineNumber = ((ITextSelection) selection).getStartLine() + 1;
-			resource = BreakpointUtils
-					.getBreakpointResource((ITextEditor) part);
+			resource = BreakpointUtils.getBreakpointResource((ITextEditor) part);
 		}
 		List<?> fields;
 		if (selection instanceof IStructuredSelection) {
@@ -117,18 +114,13 @@
 			ITextEditor textEditor = getTextEditor(part);
 			if (textEditor != null) {
 				IEditorInput editorInput = textEditor.getEditorInput();
-				IDocumentProvider documentProvider = textEditor
-						.getDocumentProvider();
+				IDocumentProvider documentProvider = textEditor.getDocumentProvider();
 				if (documentProvider != null) {
-					IDocument document = documentProvider
-							.getDocument(editorInput);
-					IRegion reg = ScriptWordFinder.findWord(document,
-							((ITextSelection) selection).getOffset());
-					final TclAddWatchpointDialog dialog = new TclAddWatchpointDialog(
-							part.getSite().getShell());
+					IDocument document = documentProvider.getDocument(editorInput);
+					IRegion reg = ScriptWordFinder.findWord(document, ((ITextSelection) selection).getOffset());
+					final TclAddWatchpointDialog dialog = new TclAddWatchpointDialog(part.getSite().getShell());
 					try {
-						dialog.setExpression(document.get(reg.getOffset(), reg
-								.getLength()));
+						dialog.setExpression(document.get(reg.getOffset(), reg.getLength()));
 					} catch (BadLocationException e) {
 						// ignore
 					}
@@ -164,13 +156,10 @@
 			boolean found = false;
 			for (int j = 0; j < breakpoints.length; j++) {
 				final IBreakpoint breakpoint = breakpoints[j];
-				if (breakpoint instanceof IScriptWatchpoint
-						&& breakpoint.getMarker() != null
-						&& resource
-								.equals(breakpoint.getMarker().getResource())) {
+				if (breakpoint instanceof IScriptWatchpoint && breakpoint.getMarker() != null
+						&& resource.equals(breakpoint.getMarker().getResource())) {
 					IScriptWatchpoint wp = (IScriptWatchpoint) breakpoint;
-					if (wp.getLineNumber() == lineNumber
-							&& watchExpression.equals(wp.getFieldName())) {
+					if (wp.getLineNumber() == lineNumber && watchExpression.equals(wp.getFieldName())) {
 						// delete existing breakpoint
 						breakpoint.delete();
 						found = true;
@@ -178,33 +167,33 @@
 				}
 			}
 			if (!found) {
-				new ScriptWatchpoint(getDebugModelId(), resource, resource
-						.getType() == IResource.FILE ? resource.getLocation()
-						: null, lineNumber, start, end, watchExpression);
+				new ScriptWatchpoint(getDebugModelId(), resource,
+						resource.getType() == IResource.FILE ? resource.getLocation() : null, lineNumber, start, end,
+						watchExpression);
 			}
 		}
 	}
 
-	public void toggleBreakpoints(IWorkbenchPart part, ISelection selection)
-			throws CoreException {
+	@Override
+	public void toggleBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
 		toggleLineBreakpoints(part, selection);
 	}
 
-	public boolean canToggleBreakpoints(IWorkbenchPart part,
-			ISelection selection) {
+	@Override
+	public boolean canToggleBreakpoints(IWorkbenchPart part, ISelection selection) {
 		return canToggleLineBreakpoints(part, selection);
 	}
 
-	public boolean canToggleSpawnpoints(IWorkbenchPart part,
-			ITextSelection selection) {
+	@Override
+	public boolean canToggleSpawnpoints(IWorkbenchPart part, ITextSelection selection) {
 		if (isRemote(part, selection)) {
 			return false;
 		}
 		return true;
 	}
 
-	public void toggleSpawnpoints(final IWorkbenchPart part,
-			final ITextSelection selection) throws CoreException {
+	@Override
+	public void toggleSpawnpoints(final IWorkbenchPart part, final ITextSelection selection) throws CoreException {
 		Job job = new Job("Script Toggle Spawnpoint") { //$NON-NLS-1$
 			@Override
 			protected IStatus run(IProgressMonitor monitor) {
@@ -219,41 +208,32 @@
 
 						int lineNumber = selection.getStartLine() + 1;
 
-						final IBreakpoint breakpoint = BreakpointUtils
-								.findLineBreakpoint(editor, lineNumber);
+						final IBreakpoint breakpoint = BreakpointUtils.findLineBreakpoint(editor, lineNumber);
 
 						if (breakpoint != null) {
 							// if breakpoint already exists, delete it
 							breakpoint.delete();
 						} else {
-							final IDocumentProvider documentProvider = editor
-									.getDocumentProvider();
+							final IDocumentProvider documentProvider = editor.getDocumentProvider();
 							if (documentProvider == null) {
 								return Status.CANCEL_STATUS;
 							}
 
-							final IDocument document = documentProvider
-									.getDocument(editor.getEditorInput());
+							final IDocument document = documentProvider.getDocument(editor.getEditorInput());
 
-							lineNumber = findBreakpointLine(document,
-									lineNumber - 1, getValidator()) + 1;
+							lineNumber = findBreakpointLine(document, lineNumber - 1, getValidator()) + 1;
 
 							if (lineNumber != BREAKPOINT_LINE_NOT_FOUND) {
 								// Check if already breakpoint set to the same
 								// location
-								if (BreakpointUtils.findLineBreakpoint(editor,
-										lineNumber) == null) {
-									BreakpointUtils.addSpawnpoint(editor,
-											lineNumber);
+								if (BreakpointUtils.findLineBreakpoint(editor, lineNumber) == null) {
+									BreakpointUtils.addSpawnpoint(editor, lineNumber);
 								} else {
 									final String template = Messages.ScriptToggleBreakpointAdapter_breakpointAlreadySetAtLine;
-									report(NLS.bind(template, Integer
-											.toString(lineNumber)), part);
+									report(NLS.bind(template, Integer.toString(lineNumber)), part);
 								}
 							} else {
-								report(
-										Messages.ScriptToggleBreakpointAdapter_invalidBreakpointPosition,
-										part);
+								report(Messages.ScriptToggleBreakpointAdapter_invalidBreakpointPosition, part);
 							}
 						}
 					} catch (CoreException e) {
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/TclWatchExpressionDelegate.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/TclWatchExpressionDelegate.java
index 0a2567b..faccbe2 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/TclWatchExpressionDelegate.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/TclWatchExpressionDelegate.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2016 xored software, Inc.  and others.
+ * Copyright (c) 2016, 2017 xored software, Inc. 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,12 +31,10 @@
 		return expression;
 	}
 
-	private static final class TclWatchExpressionValueProxy extends
-			ScriptValueProxy {
+	private static final class TclWatchExpressionValueProxy extends ScriptValueProxy {
 		private final String expression;
 
-		private TclWatchExpressionValueProxy(IScriptValue origin,
-				String expression) {
+		private TclWatchExpressionValueProxy(IScriptValue origin, String expression) {
 			super(origin);
 			this.expression = expression;
 		}
@@ -47,14 +45,12 @@
 		}
 
 		@Override
-		public IScriptEvaluationCommand createEvaluationCommand(
-				String messageTemplate, IScriptThread thread) {
+		public IScriptEvaluationCommand createEvaluationCommand(String messageTemplate, IScriptThread thread) {
 			return null;
 		}
 	}
 
-	private static class TclWatchExpressionResult implements
-			IWatchExpressionResult {
+	private static class TclWatchExpressionResult implements IWatchExpressionResult {
 
 		private final String[] errorMessages;
 		private final DebugException exception;
@@ -69,9 +65,8 @@
 		 * @param value
 		 * @param errors
 		 */
-		public TclWatchExpressionResult(String[] errorMessages,
-				DebugException exception, String expressionText, IValue value,
-				boolean errors) {
+		public TclWatchExpressionResult(String[] errorMessages, DebugException exception, String expressionText,
+				IValue value, boolean errors) {
 			this.errorMessages = errorMessages;
 			this.errors = errors;
 			this.exception = exception;
@@ -79,22 +74,27 @@
 			this.value = value;
 		}
 
+		@Override
 		public String[] getErrorMessages() {
 			return errorMessages;
 		}
 
+		@Override
 		public DebugException getException() {
 			return exception;
 		}
 
+		@Override
 		public String getExpressionText() {
 			return expressionText;
 		}
 
+		@Override
 		public IValue getValue() {
 			return value;
 		}
 
+		@Override
 		public boolean hasErrors() {
 			return errors;
 		}
@@ -105,8 +105,7 @@
 
 		private final String expression;
 
-		public TclListenerAdapter(IWatchExpressionListener listener,
-				String expression) {
+		public TclListenerAdapter(IWatchExpressionListener listener, String expression) {
 			super(listener);
 			this.expression = expression;
 		}
@@ -114,10 +113,9 @@
 		@Override
 		public void evaluationComplete(IScriptEvaluationResult result) {
 			if (result != null && result.getValue() != null) {
-				listener.watchEvaluationFinished(new TclWatchExpressionResult(
-						result.getErrorMessages(), result.getException(),
-						expression, new TclWatchExpressionValueProxy(result
-								.getValue(), expression), result.hasErrors()));
+				listener.watchEvaluationFinished(
+						new TclWatchExpressionResult(result.getErrorMessages(), result.getException(), expression,
+								new TclWatchExpressionValueProxy(result.getValue(), expression), result.hasErrors()));
 			} else {
 				super.evaluationComplete(result);
 			}
@@ -126,8 +124,7 @@
 	}
 
 	@Override
-	protected ListenerAdpater createListener(IWatchExpressionListener listener,
-			String expression) {
+	protected ListenerAdpater createListener(IWatchExpressionListener listener, String expression) {
 		return new TclListenerAdapter(listener, expression);
 	}
 
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/actions/RulerToggleSpawnpointActionDelegate.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/actions/RulerToggleSpawnpointActionDelegate.java
index c096207..749e5fb 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/actions/RulerToggleSpawnpointActionDelegate.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/actions/RulerToggleSpawnpointActionDelegate.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2016 xored software, Inc. and others.
+ * Copyright (c) 2008, 2017 xored software, Inc. and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -14,7 +14,6 @@
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.text.source.IVerticalRulerInfo;
 import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IActionDelegate2;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.texteditor.AbstractRulerActionDelegate;
 import org.eclipse.ui.texteditor.ITextEditor;
@@ -29,7 +28,7 @@
  * Following is example plug-in XML used to contribute this action to an editor.
  * Note that the label attribute of this action is not displayed in the editor.
  * Instead, the label of the created action is displayed.
- * 
+ *
  * <pre>
  * &lt;extension point=&quot;org.eclipse.ui.editorActions&quot;&gt;
  *    &lt;editorContribution
@@ -44,13 +43,13 @@
  *    &lt;/editorContribution&gt;
  * &lt;/extension&gt;
  * </pre>
- * 
+ *
  * </p>
  * <p>
  * This action can also be contributed to a vertical ruler context menu via the
  * <code>popupMenus</code> extension point, by referencing the ruler's context
  * menu identifier in the <code>targetID</code> attribute.
- * 
+ *
  * <pre>
  * &lt;extension point=&quot;org.eclipse.ui.popupMenus&quot;&gt;
  *   &lt;viewerContribution
@@ -64,25 +63,23 @@
  *       &lt;/action&gt;
  *   &lt;/viewerContribution&gt;
  * </pre>
- * 
+ *
  * </p>
  * <p>
  * Clients may refer to this class as an action delegate in plug-in XML.
  * </p>
- * 
+ *
  * @since 3.1
  * @noextend This class is not intended to be subclassed by clients.
  * @noinstantiate This class is not intended to be instantiated by clients.
  */
-public class RulerToggleSpawnpointActionDelegate extends
-		AbstractRulerActionDelegate implements IActionDelegate2 {
+public class RulerToggleSpawnpointActionDelegate extends AbstractRulerActionDelegate {
 
 	private IEditorPart fEditor = null;
 	private ToggleSpawnpointAction fDelegate = null;
 
 	@Override
-	protected IAction createAction(ITextEditor editor,
-			IVerticalRulerInfo rulerInfo) {
+	protected IAction createAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {
 		fDelegate = new ToggleSpawnpointAction(editor, null, rulerInfo);
 		return fDelegate;
 	}
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/actions/ToggleSpawnpointAction.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/actions/ToggleSpawnpointAction.java
index 698436b..8bf1ca0 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/actions/ToggleSpawnpointAction.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/actions/ToggleSpawnpointAction.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2016 xored software, Inc. and others.
+ * Copyright (c) 2008, 2017 xored software, Inc. and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -36,7 +36,7 @@
  * <p>
  * Clients may instantiate this class.
  * </p>
- * 
+ *
  * @since 3.1
  * @see org.eclipse.dltk.tcl.internal.debug.ui.actions.RulerToggleSpawnpointActionDelegate
  * @noextend This class is not intended to be subclassed by clients.
@@ -48,9 +48,9 @@
 	private IVerticalRulerInfo fRulerInfo;
 
 	/**
-	 * Constructs a new action to toggle a breakpoint in the given part
-	 * containing the given document and ruler.
-	 * 
+	 * Constructs a new action to toggle a breakpoint in the given part containing
+	 * the given document and ruler.
+	 *
 	 * @param part
 	 *            the part in which to toggle the breakpoint - provides an
 	 *            <code>IToggleBreakpointsTarget</code> adapter
@@ -60,8 +60,7 @@
 	 * @param rulerInfo
 	 *            specifies location the user has double-clicked
 	 */
-	public ToggleSpawnpointAction(IWorkbenchPart part, IDocument document,
-			IVerticalRulerInfo rulerInfo) {
+	public ToggleSpawnpointAction(IWorkbenchPart part, IDocument document, IVerticalRulerInfo rulerInfo) {
 		super(ActionMessages.ToggleSpawnpointAction_0);
 		fPart = part;
 		fDocument = document;
@@ -74,13 +73,11 @@
 		if (document == null) {
 			return;
 		}
-		IToggleSpawnpointsTarget adapter = fPart
-				.getAdapter(IToggleSpawnpointsTarget.class);
+		IToggleSpawnpointsTarget adapter = fPart.getAdapter(IToggleSpawnpointsTarget.class);
 		if (adapter == null) {
 			// attempt to force load adapter
 			IAdapterManager manager = Platform.getAdapterManager();
-			if (manager.hasAdapter(fPart, IToggleSpawnpointsTarget.class
-					.getName())) {
+			if (manager.hasAdapter(fPart, IToggleSpawnpointsTarget.class.getName())) {
 				adapter = (IToggleSpawnpointsTarget) manager.loadAdapter(fPart,
 						IToggleSpawnpointsTarget.class.getName());
 			}
@@ -108,19 +105,18 @@
 
 	/**
 	 * Report an error to the user.
-	 * 
+	 *
 	 * @param e
 	 *            underlying exception
 	 */
 	private void reportException(Exception e) {
-		DebugUIPlugin.errorDialog(fPart.getSite().getShell(),
-				ActionMessages.ToggleSpawnpointAction_1,
+		DebugUIPlugin.errorDialog(fPart.getSite().getShell(), ActionMessages.ToggleSpawnpointAction_1,
 				ActionMessages.ToggleSpawnpointAction_2, e);
 	}
 
 	/**
-	 * Disposes this action. Clients must call this method when this action is
-	 * no longer needed.
+	 * Disposes this action. Clients must call this method when this action is no
+	 * longer needed.
 	 */
 	public void dispose() {
 		fDocument = null;
@@ -130,7 +126,7 @@
 
 	/**
 	 * Returns the document on which this action operates.
-	 * 
+	 *
 	 * @return the document or <code>null</code> if none
 	 */
 	private IDocument getDocument() {
@@ -152,26 +148,24 @@
 		return null;
 	}
 
+	@Override
 	public void update() {
 		IDocument document = getDocument();
 		if (document != null) {
-			IToggleSpawnpointsTarget adapter = fPart
-					.getAdapter(IToggleSpawnpointsTarget.class);
+			IToggleSpawnpointsTarget adapter = fPart.getAdapter(IToggleSpawnpointsTarget.class);
 			if (adapter == null) {
 				// attempt to force load adapter
 				IAdapterManager manager = Platform.getAdapterManager();
-				if (manager.hasAdapter(fPart, IToggleSpawnpointsTarget.class
-						.getName())) {
-					adapter = (IToggleSpawnpointsTarget) manager.loadAdapter(
-							fPart, IToggleSpawnpointsTarget.class.getName());
+				if (manager.hasAdapter(fPart, IToggleSpawnpointsTarget.class.getName())) {
+					adapter = (IToggleSpawnpointsTarget) manager.loadAdapter(fPart,
+							IToggleSpawnpointsTarget.class.getName());
 				}
 			}
 			if (adapter != null) {
 				int line = fRulerInfo.getLineOfLastMouseButtonActivity();
 				if (line > -1) {
 					try {
-						ITextSelection selection = getTextSelection(document,
-								line);
+						ITextSelection selection = getTextSelection(document, line);
 						if (adapter.canToggleSpawnpoints(fPart, selection)) {
 							setEnabled(true);
 							return;
@@ -186,11 +180,11 @@
 	}
 
 	/**
-	 * Determines the text selection for the breakpoint action. If clicking on
-	 * the ruler inside the highlighted text, return the text selection for the
-	 * highlighted text. Otherwise, return a text selection representing the
-	 * start of the line.
-	 * 
+	 * Determines the text selection for the breakpoint action. If clicking on the
+	 * ruler inside the highlighted text, return the text selection for the
+	 * highlighted text. Otherwise, return a text selection representing the start
+	 * of the line.
+	 *
 	 * @param document
 	 *            The IDocument backing the Editor.
 	 * @param line
@@ -199,16 +193,13 @@
 	 * @throws BadLocationException
 	 *             If underlying operations throw.
 	 */
-	private ITextSelection getTextSelection(IDocument document, int line)
-			throws BadLocationException {
+	private ITextSelection getTextSelection(IDocument document, int line) throws BadLocationException {
 		IRegion region = document.getLineInformation(line);
-		ITextSelection textSelection = new TextSelection(document, region
-				.getOffset(), 0);
+		ITextSelection textSelection = new TextSelection(document, region.getOffset(), 0);
 		ISelectionProvider provider = fPart.getSite().getSelectionProvider();
 		if (provider != null) {
 			ISelection selection = provider.getSelection();
-			if (selection instanceof ITextSelection
-					&& ((ITextSelection) selection).getStartLine() <= line
+			if (selection instanceof ITextSelection && ((ITextSelection) selection).getStartLine() <= line
 					&& ((ITextSelection) selection).getEndLine() >= line) {
 				textSelection = (ITextSelection) selection;
 			}
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/console/TclConsoleTracker.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/console/TclConsoleTracker.java
index 4ba393c..4d04eb8 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/console/TclConsoleTracker.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/console/TclConsoleTracker.java
@@ -1,11 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 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
  * http://www.eclipse.org/legal/epl-v10.html
  *
- 
  *******************************************************************************/
 package org.eclipse.dltk.tcl.internal.debug.ui.console;
 
@@ -18,10 +17,12 @@
 public class TclConsoleTracker implements IPatternMatchListenerDelegate {
 	private TextConsole console;
 
+	@Override
 	public void connect(TextConsole console) {
 		this.console = console;
 	}
 
+	@Override
 	public void disconnect() {
 		console = null;
 	}
@@ -30,6 +31,7 @@
 		return console;
 	}
 
+	@Override
 	public void matchFound(PatternMatchEvent event) {
 		try {
 			int offset = event.getOffset();
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/console/TclFileHyperlink.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/console/TclFileHyperlink.java
index 38ee6d5..8572ffc 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/console/TclFileHyperlink.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/console/TclFileHyperlink.java
@@ -1,11 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
+ * Copyright (c) 2000, 2017 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
  * http://www.eclipse.org/legal/epl-v10.html
  *
- 
  *******************************************************************************/
 package org.eclipse.dltk.tcl.internal.debug.ui.console;
 
@@ -54,12 +53,15 @@
 		fConsole = console;
 	}
 
+	@Override
 	public void linkEntered() {
 	}
 
+	@Override
 	public void linkExited() {
 	}
 
+	@Override
 	public void linkActivated() {
 		try {
 			String fileName;
@@ -69,10 +71,8 @@
 				fileName = getFileName(linkText);
 				lineNumber = getLineNumber(linkText);
 			} catch (CoreException e1) {
-				ErrorDialog.openError(DLTKDebugUIPlugin
-						.getActiveWorkbenchShell(),
-						ConsoleMessages.TclFileHyperlink_Error,
-						ConsoleMessages.TclFileHyperlink_Error, e1.getStatus());
+				ErrorDialog.openError(DLTKDebugUIPlugin.getActiveWorkbenchShell(),
+						ConsoleMessages.TclFileHyperlink_Error, ConsoleMessages.TclFileHyperlink_Error, e1.getStatus());
 				return;
 			}
 
@@ -83,19 +83,16 @@
 			Object sourceElement = getSourceModule(fileName);
 			if (sourceElement != null) {
 				IEditorPart part = EditorUtility.openInEditor(sourceElement);
-				IEditorPart editorPart = EditorUtility
-						.openInEditor(sourceElement);
+				IEditorPart editorPart = EditorUtility.openInEditor(sourceElement);
 				if (editorPart instanceof ITextEditor && lineNumber >= 0) {
 					ITextEditor textEditor = (ITextEditor) editorPart;
-					IDocumentProvider provider = textEditor
-							.getDocumentProvider();
+					IDocumentProvider provider = textEditor.getDocumentProvider();
 					IEditorInput input = part.getEditorInput();
 					provider.connect(input);
 					IDocument document = provider.getDocument(input);
 					try {
 						IRegion line = document.getLineInformation(lineNumber);
-						textEditor.selectAndReveal(line.getOffset(), line
-								.getLength());
+						textEditor.selectAndReveal(line.getOffset(), line.getLength());
 					} catch (BadLocationException e) {
 
 					}
@@ -104,27 +101,19 @@
 				return;
 			}
 			// did not find source
-			MessageDialog
-					.openInformation(
-							DLTKDebugUIPlugin.getActiveWorkbenchShell(),
-							ConsoleMessages.TclFileHyperlink_Information_1,
-							NLS
-									.bind(
-											ConsoleMessages.TclFileHyperlink_Source_not_found_for__0__2,
-											new String[] { fileName }));
+			MessageDialog.openInformation(DLTKDebugUIPlugin.getActiveWorkbenchShell(),
+					ConsoleMessages.TclFileHyperlink_Information_1,
+					NLS.bind(ConsoleMessages.TclFileHyperlink_Source_not_found_for__0__2, new String[] { fileName }));
 		} catch (CoreException e) {
 			DLTKDebugUIPlugin
-					.errorDialog(
-							ConsoleMessages.TclFileHyperlink_An_exception_occurred_while_following_link__3,
-							e);
+					.errorDialog(ConsoleMessages.TclFileHyperlink_An_exception_occurred_while_following_link__3, e);
 			return;
 		}
 	}
 
 	public String getEditorId(IEditorInput input, Object inputObject) {
 		try {
-			IEditorDescriptor descriptor = IDE.getEditorDescriptor(input
-					.getName());
+			IEditorDescriptor descriptor = IDE.getEditorDescriptor(input.getName(), true, false);
 			return descriptor.getId();
 		} catch (PartInitException e) {
 			return null;
@@ -133,21 +122,16 @@
 
 	protected Object getSourceModule(String fileName) throws CoreException {
 		if (fConsole instanceof org.eclipse.debug.ui.console.IConsole) {
-			final IProcess process = ((org.eclipse.debug.ui.console.IConsole) fConsole)
-					.getProcess();
+			final IProcess process = ((org.eclipse.debug.ui.console.IConsole) fConsole).getProcess();
 			if (process != null) {
 				final ILaunch launch = process.getLaunch();
 				if (launch != null) {
-					final ILaunchConfiguration configuration = launch
-							.getLaunchConfiguration();
+					final ILaunchConfiguration configuration = launch.getLaunchConfiguration();
 					if (configuration != null) {
-						final IProject project = LaunchConfigurationUtils
-								.getProject(configuration);
+						final IProject project = LaunchConfigurationUtils.getProject(configuration);
 						if (project != null) {
-							final ProjectSourceLookup lookup = new ProjectSourceLookup(
-									project);
-							final IProjectLookupResult result = lookup
-									.find(new Path(fileName));
+							final ProjectSourceLookup lookup = new ProjectSourceLookup(project);
+							final IProjectLookupResult result = lookup.find(new Path(fileName));
 							if (result != null) {
 								return result.toArray()[0];
 							}
@@ -157,14 +141,13 @@
 			}
 		}
 		// compatibility: search local workspace files
-		IFile f = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(
-				new Path(fileName));
+		IFile f = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(new Path(fileName));
 		return f;
 	}
 
 	/**
 	 * Returns the fully qualified name of the type to open
-	 * 
+	 *
 	 * @return fully qualified type name
 	 * @exception CoreException
 	 *                if unable to parse the type name
@@ -176,18 +159,14 @@
 			String name = m.group(1);
 			return name;
 		}
-		IStatus status = new Status(
-				IStatus.ERROR,
-				DLTKDebugUIPlugin.getUniqueIdentifier(),
-				0,
-				ConsoleMessages.TclFileHyperlink_Unable_to_parse_type_name_from_hyperlink__5,
-				null);
+		IStatus status = new Status(IStatus.ERROR, DLTKDebugUIPlugin.getUniqueIdentifier(), 0,
+				ConsoleMessages.TclFileHyperlink_Unable_to_parse_type_name_from_hyperlink__5, null);
 		throw new CoreException(status);
 	}
 
 	/**
 	 * Returns the line number associated with the stack trace or -1 if none.
-	 * 
+	 *
 	 * @exception CoreException
 	 *                if unable to parse the number
 	 */
@@ -199,27 +178,19 @@
 			try {
 				return Integer.parseInt(lineText);
 			} catch (NumberFormatException e) {
-				IStatus status = new Status(
-						IStatus.ERROR,
-						DLTKDebugUIPlugin.getUniqueIdentifier(),
-						0,
-						ConsoleMessages.TclFileHyperlink_Unable_to_parse_line_number_from_hyperlink__6,
-						e);
+				IStatus status = new Status(IStatus.ERROR, DLTKDebugUIPlugin.getUniqueIdentifier(), 0,
+						ConsoleMessages.TclFileHyperlink_Unable_to_parse_line_number_from_hyperlink__6, e);
 				throw new CoreException(status);
 			}
 		}
-		IStatus status = new Status(
-				IStatus.ERROR,
-				DLTKDebugUIPlugin.getUniqueIdentifier(),
-				0,
-				ConsoleMessages.TclFileHyperlink_Unable_to_parse_line_number_from_hyperlink__7,
-				null);
+		IStatus status = new Status(IStatus.ERROR, DLTKDebugUIPlugin.getUniqueIdentifier(), 0,
+				ConsoleMessages.TclFileHyperlink_Unable_to_parse_line_number_from_hyperlink__7, null);
 		throw new CoreException(status);
 	}
 
 	/**
 	 * Returns the console this link is contained in.
-	 * 
+	 *
 	 * @return console
 	 */
 	protected TextConsole getConsole() {
@@ -228,7 +199,7 @@
 
 	/**
 	 * Returns this link's text
-	 * 
+	 *
 	 * @exception CoreException
 	 *                if unable to retrieve the text
 	 */
@@ -248,15 +219,10 @@
 			int linkEnd = line.indexOf(')', regionOffsetInLine);
 			int linkStart = line.lastIndexOf(' ', regionOffsetInLine);
 
-			return line.substring(linkStart == -1 ? 0 : linkStart + 1,
-					linkEnd + 1);
+			return line.substring(linkStart == -1 ? 0 : linkStart + 1, linkEnd + 1);
 		} catch (BadLocationException e) {
-			IStatus status = new Status(
-					IStatus.ERROR,
-					DLTKDebugUIPlugin.getUniqueIdentifier(),
-					0,
-					ConsoleMessages.TclFileHyperlink_Unable_to_retrieve_hyperlink_text__8,
-					e);
+			IStatus status = new Status(IStatus.ERROR, DLTKDebugUIPlugin.getUniqueIdentifier(), 0,
+					ConsoleMessages.TclFileHyperlink_Unable_to_retrieve_hyperlink_text__8, e);
 			throw new CoreException(status);
 		}
 	}
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/AddTclInterpreterDialog.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/AddTclInterpreterDialog.java
index ab3486d..0f5d8b4 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/AddTclInterpreterDialog.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/AddTclInterpreterDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2016 IBM Corporation and others.
+ * Copyright (c) 2000, 2017 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,7 +10,6 @@
 
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Comparator;
 import java.util.List;
 
 import org.eclipse.core.runtime.IStatus;
@@ -58,15 +57,13 @@
 import org.eclipse.swt.widgets.Shell;
 
 public class AddTclInterpreterDialog extends AddScriptInterpreterDialog {
-	public AddTclInterpreterDialog(IAddInterpreterDialogRequestor requestor,
-			Shell shell, IInterpreterInstallType[] interpreterInstallTypes,
-			IInterpreterInstall editedInterpreter) {
+	public AddTclInterpreterDialog(IAddInterpreterDialogRequestor requestor, Shell shell,
+			IInterpreterInstallType[] interpreterInstallTypes, IInterpreterInstall editedInterpreter) {
 		super(requestor, shell, interpreterInstallTypes, editedInterpreter);
 	}
 
 	@Override
-	protected AbstractInterpreterLibraryBlock createLibraryBlock(
-			AddScriptInterpreterDialog dialog) {
+	protected AbstractInterpreterLibraryBlock createLibraryBlock(AddScriptInterpreterDialog dialog) {
 		return new TclInterpreterLibraryBlock(dialog);
 	}
 
@@ -82,8 +79,7 @@
 	private ExpandableBlock environmentExpandableNode;
 
 	@Override
-	protected Composite createEnvironmentVariablesBlockParent(Composite parent,
-			int numColumns) {
+	protected Composite createEnvironmentVariablesBlockParent(Composite parent, int numColumns) {
 		environmentExpandableNode = new ExpandableBlock(parent, 0);
 		environmentExpandableNode
 				.setText(InterpretersMessages.AddScriptInterpreterDialog_interpreterEnvironmentVariables);
@@ -95,11 +91,9 @@
 	}
 
 	@Override
-	protected Composite createLibraryBlockParent(Composite parent,
-			int numColumns) {
+	protected Composite createLibraryBlockParent(Composite parent, int numColumns) {
 		libraryExpandableNode = new ExpandableBlock(parent, 0);
-		libraryExpandableNode
-				.setText("Custom library locations (addition to TCLLIBPATH):");
+		libraryExpandableNode.setText("Custom library locations (addition to TCLLIBPATH):");
 		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
 		gd.horizontalSpan = numColumns;
 		libraryExpandableNode.setLayoutData(gd);
@@ -129,8 +123,7 @@
 		documentationField.doFillIntoGrid(parent, numColumns - 1);
 		final Button configureDocumentation = new Button(parent, SWT.PUSH);
 		configureDocumentation.setText("Configure...");
-		configureDocumentation.setLayoutData(StringButtonDialogField
-				.gridDataForButton(configureDocumentation, 1));
+		configureDocumentation.setLayoutData(StringButtonDialogField.gridDataForButton(configureDocumentation, 1));
 		configureDocumentation.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
@@ -140,29 +133,21 @@
 	}
 
 	protected void configureDocumentation() {
-		final ManPagesConfigurationDialog dialog = new ManPagesConfigurationDialog(
-				getShell());
+		final ManPagesConfigurationDialog dialog = new ManPagesConfigurationDialog(getShell());
 		if (dialog.open() == Window.OK) {
 			final int index = documentationField.getSelectionIndex();
-			final String docId = index > 0 ? this.documentations.get(index - 1)
-					.getId() : null;
+			final String docId = index > 0 ? this.documentations.get(index - 1).getId() : null;
 			loadDocumentations();
 			final Documentation doc = findById(docId);
-			documentationField.selectItem(doc != null ? this.documentations
-					.indexOf(doc) + 1 : 0);
+			documentationField.selectItem(doc != null ? this.documentations.indexOf(doc) + 1 : 0);
 		}
 	}
 
 	private void loadDocumentations() {
-		documentations = new ArrayList<Documentation>(ManPageLoader.load()
-				.getDocumentations());
+		documentations = new ArrayList<>(ManPageLoader.load().getDocumentations());
 		final String[] names = new String[documentations.size() + 1];
 		names[0] = documentations.isEmpty() ? "(not configured)" : "(default)";
-		Collections.sort(documentations, new Comparator<Documentation>() {
-			public int compare(Documentation o1, Documentation o2) {
-				return o1.getName().compareToIgnoreCase(o2.getName());
-			}
-		});
+		Collections.sort(documentations, (o1, o2) -> o1.getName().compareToIgnoreCase(o2.getName()));
 		for (int i = 0; i < documentations.size(); ++i) {
 			names[i + 1] = documentations.get(i).getName();
 		}
@@ -173,8 +158,7 @@
 	protected void createDialogBlocks(final Composite parent, int numColumns) {
 		super.createDialogBlocks(parent, numColumns);
 		globalsExpandableNode = new ExpandableBlock(parent, 0);
-		globalsExpandableNode
-				.setText(TclInterpreterMessages.AddTclInterpreterDialog_0);
+		globalsExpandableNode.setText(TclInterpreterMessages.AddTclInterpreterDialog_0);
 		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
 		gd.horizontalSpan = numColumns;
 		globalsExpandableNode.setLayoutData(gd);
@@ -234,8 +218,7 @@
 		// interpreter.
 		IInterpreterInstall install = getLastInterpreterInstall();
 		if (install != null) {
-			IContentCache coreCache = ModelManager.getModelManager()
-					.getCoreCache();
+			IContentCache coreCache = ModelManager.getModelManager().getCoreCache();
 			coreCache.clearCacheEntryAttributes(install.getInstallLocation());
 			TclPackagesManager.removeInterpreterInfo(install);
 		}
@@ -252,28 +235,23 @@
 		if (install != null) {
 			final InterpreterDocumentation documentation = (InterpreterDocumentation) install
 					.findExtension(ManpagesPackage.Literals.INTERPRETER_DOCUMENTATION);
-			final String docId = documentation != null ? documentation
-					.getDocumentationId() : null;
+			final String docId = documentation != null ? documentation.getDocumentationId() : null;
 			final Documentation doc = findById(docId);
-			documentationField.selectItem(doc != null ? documentations
-					.indexOf(doc) + 1 : 0);
-			VariableMap variableMap = (VariableMap) install
-					.findExtension(TclPackagesPackage.Literals.VARIABLE_MAP);
+			documentationField.selectItem(doc != null ? documentations.indexOf(doc) + 1 : 0);
+			VariableMap variableMap = (VariableMap) install.findExtension(TclPackagesPackage.Literals.VARIABLE_MAP);
 			if (variableMap != null) {
 				globals.setValues(variableMap.getVariables());
 			} else {
-				globals.setValues(ECollections
-						.<String, VariableValue> emptyEMap());
+				globals.setValues(ECollections.<String, VariableValue>emptyEMap());
 			}
 		} else {
 			documentationField.selectItem(0);
-			globals.setValues(ECollections.<String, VariableValue> emptyEMap());
+			globals.setValues(ECollections.<String, VariableValue>emptyEMap());
 		}
 
 		// Set initial expanding
 		globalsExpandableNode.setExpanded(!globals.getValues().isEmpty());
-		environmentExpandableNode.setExpanded(fEnvironmentVariablesBlock
-				.getEnvironmentVariables().length > 0);
+		environmentExpandableNode.setExpanded(fEnvironmentVariablesBlock.getEnvironmentVariables().length > 0);
 	}
 
 	@Override
@@ -281,19 +259,15 @@
 		super.setFieldValuesToInterpreter(install);
 		int index = documentationField.getSelectionIndex();
 		if (index == 0) {
-			install.replaceExtension(
-					ManpagesPackage.Literals.INTERPRETER_DOCUMENTATION, null);
+			install.replaceExtension(ManpagesPackage.Literals.INTERPRETER_DOCUMENTATION, null);
 		} else {
 			final Documentation doc = documentations.get(index - 1);
-			final InterpreterDocumentation idoc = ManpagesFactory.eINSTANCE
-					.createInterpreterDocumentation();
+			final InterpreterDocumentation idoc = ManpagesFactory.eINSTANCE.createInterpreterDocumentation();
 			idoc.setDocumentationId(doc.getId());
-			install.replaceExtension(
-					ManpagesPackage.Literals.INTERPRETER_DOCUMENTATION, idoc);
+			install.replaceExtension(ManpagesPackage.Literals.INTERPRETER_DOCUMENTATION, idoc);
 		}
 		final EMap<String, VariableValue> newVars = globals.getValues();
-		final EMap<String, VariableValue> oldVars = TclPackagesManager
-				.getVariablesEMap(install);
+		final EMap<String, VariableValue> oldVars = TclPackagesManager.getVariablesEMap(install);
 		if (!GlobalVariableBlock.equalsEMap(newVars, oldVars)) {
 			TclPackagesManager.setVariables(install, newVars);
 		}
@@ -303,8 +277,7 @@
 	 * @since 2.0
 	 */
 	public InterpreterStandin getInterpreterStandin() {
-		InterpreterStandin standin = new InterpreterStandin(
-				fSelectedInterpreterType, "$fake$");
+		InterpreterStandin standin = new InterpreterStandin(fSelectedInterpreterType, "$fake$");
 		IEnvironment selectedEnv = getEnvironment();
 		String locationName = getInterpreterPath();
 		final IFileHandle file;
@@ -312,12 +285,10 @@
 			file = null;
 			return null;
 		} else {
-			file = PlatformFileUtils.findAbsoluteOrEclipseRelativeFile(
-					selectedEnv, new Path(locationName));
+			file = PlatformFileUtils.findAbsoluteOrEclipseRelativeFile(selectedEnv, new Path(locationName));
 			EnvironmentVariable[] environmentVariables = null;
 			if (fEnvironmentVariablesBlock != null) {
-				environmentVariables = fEnvironmentVariablesBlock
-						.getEnvironmentVariables();
+				environmentVariables = fEnvironmentVariablesBlock.getEnvironmentVariables();
 			}
 			LibraryLocation[] locations = fLibraryBlock.getLibraryLocations();
 			standin.setInstallLocation(file);
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/AvailablePackagesBlock.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/AvailablePackagesBlock.java
index 0446f3b..ea2a05e 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/AvailablePackagesBlock.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/AvailablePackagesBlock.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2016 xored software, Inc.  and others.
+ * Copyright (c) 2016, 2017 xored software, Inc. 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,7 +12,6 @@
 
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Comparator;
 import java.util.List;
 
 import org.eclipse.dltk.tcl.core.TclPackagesManager;
@@ -81,8 +80,7 @@
 			@Override
 			public Image getImage(Object element) {
 				if (element instanceof TclPackageInfo) {
-					return DLTKPluginImages
-							.get(DLTKPluginImages.IMG_OBJS_PACKAGE);
+					return DLTKPluginImages.get(DLTKPluginImages.IMG_OBJS_PACKAGE);
 				}
 				if (element instanceof Node) {
 					Object image = ((Node) element).image;
@@ -101,34 +99,32 @@
 				registry.dispose();
 			}
 
-			final ImageDescriptorRegistry registry = new ImageDescriptorRegistry(
-					false);
+			final ImageDescriptorRegistry registry = new ImageDescriptorRegistry(false);
 
 		});
 		viewer.setContentProvider(new ITreeContentProvider() {
-			public void inputChanged(Viewer viewer, Object oldInput,
-					Object newInput) {
+			@Override
+			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
 			}
 
+			@Override
 			public void dispose() {
 			}
 
+			@Override
 			public Object[] getElements(Object inputElement) {
 				if (inputElement instanceof TclInterpreterInfo) {
 					TclInterpreterInfo info = (TclInterpreterInfo) inputElement;
 					EList<TclPackageInfo> packages = info.getPackages();
-					List<TclPackageInfo> sorted = new ArrayList<TclPackageInfo>();
+					List<TclPackageInfo> sorted = new ArrayList<>();
 					sorted.addAll(packages);
-					Collections.sort(sorted, new Comparator<TclPackageInfo>() {
-						public int compare(TclPackageInfo o1, TclPackageInfo o2) {
-							return o1.getName().compareTo(o2.getName());
-						}
-					});
+					Collections.sort(sorted, (o1, o2) -> o1.getName().compareTo(o2.getName()));
 					return sorted.toArray();
 				}
 				return new Object[0];
 			}
 
+			@Override
 			public boolean hasChildren(Object element) {
 				if (element instanceof TclPackageInfo) {
 					return true;
@@ -136,21 +132,20 @@
 				return false;
 			}
 
+			@Override
 			public Object getParent(Object element) {
 				return null;
 			}
 
+			@Override
 			public Object[] getChildren(final Object parentElement) {
 				if (parentElement instanceof TclPackageInfo) {
 					final TclPackageInfo info = (TclPackageInfo) parentElement;
 					if (!info.isFetched()) {
-						TclPackagesManager.getPackageInfo(
-								AvailablePackagesBlock.this.dialog
-										.getInterpreterStandin(), info
-										.getName(), true,
-								AvailablePackagesBlock.this.interpreter, null);
+						TclPackagesManager.getPackageInfo(AvailablePackagesBlock.this.dialog.getInterpreterStandin(),
+								info.getName(), true, AvailablePackagesBlock.this.interpreter, null);
 					}
-					List<Node> result = new ArrayList<Node>();
+					List<Node> result = new ArrayList<>();
 					EList<String> sources = info.getSources();
 					for (String source : sources) {
 						Node nde = new Node();
@@ -162,8 +157,7 @@
 					for (String source : libs) {
 						Node nde = new Library();
 						nde.value = source;
-						nde.image = DLTKPluginImages
-								.get(DLTKPluginImages.IMG_OBJS_LIBRARY);
+						nde.image = DLTKPluginImages.get(DLTKPluginImages.IMG_OBJS_LIBRARY);
 						result.add(nde);
 					}
 					return result.toArray();
@@ -186,11 +180,9 @@
 	public void updatePackages(TclInterpreterInfo info) {
 		this.interpreter = info;
 		// Collections.sort(elements);
-		viewer.getControl().getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				viewer.setInput(interpreter);
-				viewer.refresh();
-			}
+		viewer.getControl().getDisplay().asyncExec(() -> {
+			viewer.setInput(interpreter);
+			viewer.refresh();
 		});
 	}
 }
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/CombinedSet.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/CombinedSet.java
index 77fde2d..13a686d 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/CombinedSet.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/CombinedSet.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2009 xored software, Inc.  
+ * Copyright (c) 2009, 2017 xored software, Inc. 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
- * http://www.eclipse.org/legal/epl-v10.html  
+ * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
  *     xored software, Inc. - initial API and Implementation (Alex Panchenko)
@@ -41,11 +41,11 @@
 	@Override
 	public Iterator<E> iterator() {
 		if (children.length == 0) {
-			return Collections.<E> emptySet().iterator();
+			return Collections.<E>emptySet().iterator();
 		} else if (children.length == 1) {
 			return children[0].iterator();
 		} else {
-			Set<E> temp = new HashSet<E>();
+			Set<E> temp = new HashSet<>();
 			for (Set<E> child : children) {
 				temp.addAll(child);
 			}
@@ -68,7 +68,7 @@
 			}
 			return size;
 		} else {
-			Set<E> temp = new HashSet<E>();
+			Set<E> temp = new HashSet<>();
 			for (Set<E> child : children) {
 				temp.addAll(child);
 			}
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclInterpreterComboBlock.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclInterpreterComboBlock.java
index 6377721..d8f8204 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclInterpreterComboBlock.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclInterpreterComboBlock.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2016 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 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
@@ -30,15 +30,11 @@
 import org.eclipse.dltk.tcl.core.TclPackagesManager;
 import org.eclipse.dltk.ui.DLTKPluginImages;
 import org.eclipse.dltk.ui.util.PixelConverter;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
 import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.IStructuredContentProvider;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.ITreeContentProvider;
 import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.viewers.Viewer;
@@ -68,8 +64,8 @@
 		super(context);
 	}
 
-	private Set<String> packages = new HashSet<String>();
-	private Set<String> autoPackages = new HashSet<String>();
+	private Set<String> packages = new HashSet<>();
+	private Set<String> autoPackages = new HashSet<>();
 
 	public class PackagesLabelProvider extends LabelProvider {
 
@@ -79,17 +75,14 @@
 				String packageName = ((Package) element).name;
 				IInterpreterInstall install = getInterpreter();
 				if (install == null) {
-					install = ScriptRuntime
-							.getDefaultInterpreterInstall(TclNature.NATURE_ID,
-									LocalEnvironment.getInstance());
+					install = ScriptRuntime.getDefaultInterpreterInstall(TclNature.NATURE_ID,
+							LocalEnvironment.getInstance());
 				}
 				if (install != null) {
-					final Set<String> names = TclPackagesManager
-							.getPackageInfosAsString(install);
+					final Set<String> names = TclPackagesManager.getPackageInfosAsString(install);
 
 					if (!names.contains(packageName)) {
-						return DLTKPluginImages
-								.get(DLTKPluginImages.IMG_OBJS_ERROR);
+						return DLTKPluginImages.get(DLTKPluginImages.IMG_OBJS_ERROR);
 					}
 				}
 				return DLTKPluginImages.get(DLTKPluginImages.IMG_OBJS_PACKAGE);
@@ -124,15 +117,17 @@
 		}
 	}
 
-	private static class PackagesContentProvider implements
-			ITreeContentProvider {
+	private static class PackagesContentProvider implements ITreeContentProvider {
 
+		@Override
 		public void dispose() {
 		}
 
+		@Override
 		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
 		}
 
+		@Override
 		public Object[] getChildren(Object parentElement) {
 			if (parentElement instanceof PackageCategory) {
 				return ((PackageCategory) parentElement).getPackages();
@@ -141,6 +136,7 @@
 			}
 		}
 
+		@Override
 		public Object getParent(Object element) {
 			if (element instanceof Package) {
 				return ((Package) element).parent;
@@ -148,6 +144,7 @@
 			return null;
 		}
 
+		@Override
 		public boolean hasChildren(Object element) {
 			if (element instanceof PackageCategory) {
 				return !((PackageCategory) element).packages.isEmpty();
@@ -155,6 +152,7 @@
 			return false;
 		}
 
+		@Override
 		public Object[] getElements(Object inputElement) {
 			if (inputElement instanceof PackageInput) {
 				return ((PackageInput) inputElement).getCategories();
@@ -184,8 +182,7 @@
 
 		this.fElements = new TreeViewer(composite);
 		GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
-		data.heightHint = new PixelConverter(ancestor)
-				.convertHeightInCharsToPixels(8);
+		data.heightHint = new PixelConverter(ancestor).convertHeightInCharsToPixels(8);
 
 		this.fElements.getTree().setLayoutData(data);
 
@@ -201,8 +198,7 @@
 
 		addButton = new Button(buttons, SWT.PUSH);
 		addButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
-		addButton
-				.setText(TclInterpreterMessages.TclInterpreterComboBlock_buttonAdd);
+		addButton.setText(TclInterpreterMessages.TclInterpreterComboBlock_buttonAdd);
 		if (editablePackages) {
 			addButton.addSelectionListener(new SelectionAdapter() {
 				@Override
@@ -214,10 +210,8 @@
 			addButton.setEnabled(false);
 		}
 		addAllButton = new Button(buttons, SWT.PUSH);
-		addAllButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false,
-				false));
-		addAllButton
-				.setText(TclInterpreterMessages.TclInterpreterComboBlock_buttonAddAll);
+		addAllButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
+		addAllButton.setText(TclInterpreterMessages.TclInterpreterComboBlock_buttonAddAll);
 		if (editablePackages) {
 			addAllButton.addSelectionListener(new SelectionAdapter() {
 				@Override
@@ -229,8 +223,7 @@
 			addAllButton.setEnabled(false);
 		}
 		remove = new Button(buttons, SWT.PUSH);
-		remove
-				.setText(TclInterpreterMessages.TclInterpreterComboBlock_buttonRemove);
+		remove.setText(TclInterpreterMessages.TclInterpreterComboBlock_buttonRemove);
 		remove.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
 		if (editablePackages) {
 			remove.addSelectionListener(new SelectionAdapter() {
@@ -247,22 +240,14 @@
 		this.fElements.setContentProvider(new PackagesContentProvider());
 		this.fElements.setLabelProvider(new PackagesLabelProvider());
 		if (editablePackages) {
-			this.fElements
-					.addSelectionChangedListener(new ISelectionChangedListener() {
-						public void selectionChanged(SelectionChangedEvent event) {
-							remove.setEnabled(canRemove(event.getSelection()));
-						}
-					});
+			this.fElements.addSelectionChangedListener(event -> remove.setEnabled(canRemove(event.getSelection())));
 		}
 		this.fElements.setComparator(new PackageComparator());
 		showPackages();
 
-		this.addPropertyChangeListener(new IPropertyChangeListener() {
-
-			public void propertyChange(PropertyChangeEvent event) {
-				if (event.getProperty().equals(PROPERTY_INTERPRETER)) {
-					refreshView();
-				}
+		this.addPropertyChangeListener(event -> {
+			if (event.getProperty().equals(PROPERTY_INTERPRETER)) {
+				refreshView();
 			}
 		});
 	}
@@ -270,26 +255,19 @@
 	private void showPackages() {
 		if (fElements != null) {
 			PackageInput input = new PackageInput();
-			input
-					.addCategory(
-							TclInterpreterMessages.TclInterpreterComboBlock_CategoryManual,
-							this.packages, false);
-			input
-					.addCategory(
-							TclInterpreterMessages.TclInterpreterComboBlock_CategoryAutomatic,
-							this.autoPackages, true);
+			input.addCategory(TclInterpreterMessages.TclInterpreterComboBlock_CategoryManual, this.packages, false);
+			input.addCategory(TclInterpreterMessages.TclInterpreterComboBlock_CategoryAutomatic, this.autoPackages,
+					true);
 			fElements.setInput(input);
 			fElements.expandToLevel(2);
 		}
 	}
 
 	private static class PackageInput {
-		private final List<PackageCategory> categories = new ArrayList<PackageCategory>();
+		private final List<PackageCategory> categories = new ArrayList<>();
 
-		public void addCategory(String category, Set<String> packagesSet,
-				boolean readOnly) {
-			categories
-					.add(new PackageCategory(category, packagesSet, readOnly));
+		public void addCategory(String category, Set<String> packagesSet, boolean readOnly) {
+			categories.add(new PackageCategory(category, packagesSet, readOnly));
 		}
 
 		public PackageCategory[] getCategories() {
@@ -315,8 +293,7 @@
 		final Set<String> packages;
 		final boolean readOnly;
 
-		public PackageCategory(String category, Set<String> packagesSet,
-				boolean readOnly) {
+		public PackageCategory(String category, Set<String> packagesSet, boolean readOnly) {
 			this.category = category;
 			this.readOnly = readOnly;
 			this.packages = packagesSet;
@@ -402,8 +379,7 @@
 		if (selection instanceof IStructuredSelection) {
 			final IStructuredSelection ss = (IStructuredSelection) selection;
 			int updates = 0;
-			for (@SuppressWarnings("unchecked")
-			Iterator<String> iterator = ss.iterator(); iterator.hasNext();) {
+			for (Iterator<String> iterator = ss.iterator(); iterator.hasNext();) {
 				final Object pkg = iterator.next();
 				if (pkg instanceof Package && !((Package) pkg).parent.readOnly) {
 					if (this.packages.remove(((Package) pkg).name)) {
@@ -422,18 +398,14 @@
 	}
 
 	private void refreshView(final String selection) {
-		PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				if (fElements.getControl().isDisposed())
-					return;
-				fElements.refresh();
-				if (selection != null) {
-					PackageCategory category = ((PackageInput) fElements
-							.getInput())
-							.get(TclInterpreterMessages.TclInterpreterComboBlock_CategoryManual);
-					fElements.setSelection(new StructuredSelection(new Package(
-							category, selection)));
-				}
+		PlatformUI.getWorkbench().getDisplay().asyncExec(() -> {
+			if (fElements.getControl().isDisposed())
+				return;
+			fElements.refresh();
+			if (selection != null) {
+				PackageCategory category = ((PackageInput) fElements.getInput())
+						.get(TclInterpreterMessages.TclInterpreterComboBlock_CategoryManual);
+				fElements.setSelection(new StructuredSelection(new Package(category, selection)));
 			}
 		});
 	}
@@ -441,29 +413,27 @@
 	protected void addPackage() {
 		IInterpreterInstall install = this.getInterpreter();
 		if (install == null) {
-			install = ScriptRuntime.getDefaultInterpreterInstall(
-					TclNature.NATURE_ID, LocalEnvironment.getInstance());
+			install = ScriptRuntime.getDefaultInterpreterInstall(TclNature.NATURE_ID, LocalEnvironment.getInstance());
 		}
 		if (install != null) {
-			Set<String> packages = TclPackagesManager
-					.getPackageInfosAsString(install);
-			final List<String> names = new ArrayList<String>();
+			Set<String> packages = TclPackagesManager.getPackageInfosAsString(install);
+			final List<String> names = new ArrayList<>();
 			names.addAll(packages);
 			Collections.sort(names, String.CASE_INSENSITIVE_ORDER);
-			ListDialog dialog = new ListDialog(this.fElements.getControl()
-					.getShell());
-			dialog
-					.setTitle(TclInterpreterMessages.TclInterpreterComboBlock_title);
+			ListDialog dialog = new ListDialog(this.fElements.getControl().getShell());
+			dialog.setTitle(TclInterpreterMessages.TclInterpreterComboBlock_title);
 			dialog.setContentProvider(new IStructuredContentProvider() {
+				@Override
 				public Object[] getElements(Object inputElement) {
 					return names.toArray();
 				}
 
+				@Override
 				public void dispose() {
 				}
 
-				public void inputChanged(Viewer viewer, Object oldInput,
-						Object newInput) {
+				@Override
+				public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
 				}
 			});
 			dialog.setLabelProvider(new PackagesLabelProvider());
@@ -477,13 +447,10 @@
 				refreshView((String) (result.length != 0 ? result[0] : null));
 			}
 		} else {
-			MessageBox box = new MessageBox(this.fElements.getControl()
-					.getShell(), SWT.OK | SWT.ICON_WARNING
-					| SWT.APPLICATION_MODAL);
-			box
-					.setText(TclInterpreterMessages.TclInterpreterComboBlock_errorTitle);
-			box
-					.setMessage(TclInterpreterMessages.TclInterpreterComboBlock_errorMessage);
+			MessageBox box = new MessageBox(this.fElements.getControl().getShell(),
+					SWT.OK | SWT.ICON_WARNING | SWT.APPLICATION_MODAL);
+			box.setText(TclInterpreterMessages.TclInterpreterComboBlock_errorTitle);
+			box.setMessage(TclInterpreterMessages.TclInterpreterComboBlock_errorMessage);
 			box.open();
 		}
 	}
@@ -498,19 +465,15 @@
 			}
 		}
 		if (install != null) {
-			Set<String> packages = TclPackagesManager
-					.getPackageInfosAsString(install);
+			Set<String> packages = TclPackagesManager.getPackageInfosAsString(install);
 			this.packages.addAll(packages);
 
 			refreshView();
 		} else {
-			MessageBox box = new MessageBox(this.fElements.getControl()
-					.getShell(), SWT.OK | SWT.ICON_INFORMATION
-					| SWT.APPLICATION_MODAL);
-			box
-					.setText(TclInterpreterMessages.TclInterpreterComboBlock_errorTitle);
-			box
-					.setText(TclInterpreterMessages.TclInterpreterComboBlock_errorMessage);
+			MessageBox box = new MessageBox(this.fElements.getControl().getShell(),
+					SWT.OK | SWT.ICON_INFORMATION | SWT.APPLICATION_MODAL);
+			box.setText(TclInterpreterMessages.TclInterpreterComboBlock_errorTitle);
+			box.setText(TclInterpreterMessages.TclInterpreterComboBlock_errorMessage);
 			box.open();
 		}
 	}
@@ -520,10 +483,9 @@
 	 */
 	public void initialize(IScriptProject project) {
 		this.scriptProject = project;
-		final Set<String> set = new HashSet<String>();
-		final Set<String> autoSet = new HashSet<String>();
-		InterpreterContainerHelper.getInterpreterContainerDependencies(project,
-				set, autoSet);
+		final Set<String> set = new HashSet<>();
+		final Set<String> autoSet = new HashSet<>();
+		InterpreterContainerHelper.getInterpreterContainerDependencies(project, set, autoSet);
 		this.packages.clear();
 		this.packages.addAll(set);
 		this.autoPackages.clear();
@@ -533,9 +495,8 @@
 
 	@Override
 	public IBuildpathEntry getEntry() {
-		IBuildpathEntry createPackagesContainer = InterpreterContainerHelper
-				.createPackagesContainer(this.packages, this.autoPackages,
-						getInterpreterPath());
+		IBuildpathEntry createPackagesContainer = InterpreterContainerHelper.createPackagesContainer(this.packages,
+				this.autoPackages, getInterpreterPath());
 		return createPackagesContainer;
 	}
 }
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclInterpreterContainerWizardPage.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclInterpreterContainerWizardPage.java
index 0d9e538..14d8678 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclInterpreterContainerWizardPage.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclInterpreterContainerWizardPage.java
@@ -1,11 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
+ * Copyright (c) 2000, 2017 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
  * http://www.eclipse.org/legal/epl-v10.html
  *
- 
  *******************************************************************************/
 package org.eclipse.dltk.tcl.internal.debug.ui.interpreters;
 
@@ -13,17 +12,12 @@
 import org.eclipse.dltk.internal.debug.ui.interpreters.AbstractInterpreterContainerWizardPage;
 import org.eclipse.dltk.internal.debug.ui.interpreters.IInterpreterComboBlockContext;
 import org.eclipse.dltk.tcl.core.TclNature;
-import org.eclipse.dltk.ui.wizards.IBuildpathContainerPageExtension;
 
-public class TclInterpreterContainerWizardPage extends
-		AbstractInterpreterContainerWizardPage implements
-		IBuildpathContainerPageExtension {
+public class TclInterpreterContainerWizardPage extends AbstractInterpreterContainerWizardPage {
 
 	@Override
-	protected AbstractInterpreterComboBlock createInterpreterBlock(
-			IInterpreterComboBlockContext context) {
-		final TclInterpreterComboBlock block = new TclInterpreterComboBlock(
-				context);
+	protected AbstractInterpreterComboBlock createInterpreterBlock(IInterpreterComboBlockContext context) {
+		final TclInterpreterComboBlock block = new TclInterpreterComboBlock(context);
 		block.initialize(getScriptProject());
 		return block;
 	}
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclInterpreterEnvironmentVariablesBlock.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclInterpreterEnvironmentVariablesBlock.java
index 7f7532b..769a451 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclInterpreterEnvironmentVariablesBlock.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclInterpreterEnvironmentVariablesBlock.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2016 IBM Corporation and others.
+ * Copyright (c) 2000, 2017 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,8 +27,7 @@
 /**
  * Control used to edit the libraries associated with a Interpreter install
  */
-public class TclInterpreterEnvironmentVariablesBlock extends
-		AbstractInterpreterEnvironmentVariablesBlock {
+public class TclInterpreterEnvironmentVariablesBlock extends AbstractInterpreterEnvironmentVariablesBlock {
 
 	public TclInterpreterEnvironmentVariablesBlock(AddScriptInterpreterDialog d) {
 		super(d);
@@ -36,25 +35,25 @@
 
 	@Override
 	protected IBaseLabelProvider getLabelProvider() {
-		return new DecoratingLabelProvider((ILabelProvider) super
-				.getLabelProvider(), new EnvironmentVariableDecorator());
+		return new DecoratingLabelProvider((ILabelProvider) super.getLabelProvider(),
+				new EnvironmentVariableDecorator());
 	}
 
-	private class EnvironmentVariableDecorator extends BaseLabelProvider
-			implements ILabelDecorator {
+	private class EnvironmentVariableDecorator extends BaseLabelProvider implements ILabelDecorator {
 
+		@Override
 		public Image decorateImage(Image image, Object element) {
 			if (element instanceof EnvironmentVariable) {
 				final EnvironmentVariable env = (EnvironmentVariable) element;
 				if (!isSafe(env) || !env.validate().isOK()) {
-					return registry.get(new DecorationOverlayIcon(image,
-							DLTKPluginImages.DESC_OVR_WARNING,
+					return registry.get(new DecorationOverlayIcon(image, DLTKPluginImages.DESC_OVR_WARNING,
 							IDecoration.BOTTOM_LEFT));
 				}
 			}
 			return image;
 		}
 
+		@Override
 		public String decorateText(String text, Object element) {
 			return text;
 		}
@@ -65,16 +64,14 @@
 			registry.dispose();
 		}
 
-		private final ImageDescriptorRegistry registry = new ImageDescriptorRegistry(
-				false);
+		private final ImageDescriptorRegistry registry = new ImageDescriptorRegistry(false);
 
 		private boolean isSafe(EnvironmentVariable env) {
 			final IEnvironment environment = getEnvironment();
 			if (environment != null) {
 				final IExecutionEnvironment execEnvironment = environment.getAdapter(IExecutionEnvironment.class);
 				if (execEnvironment != null) {
-					return execEnvironment.isSafeEnvironmentVariable(env
-							.getName());
+					return execEnvironment.isSafeEnvironmentVariable(env.getName());
 				}
 			}
 			return true;
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclInterpretersBlock.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclInterpretersBlock.java
index dbca6d1..f4f2ffe 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclInterpretersBlock.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclInterpretersBlock.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2016 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 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
@@ -8,13 +8,11 @@
  *******************************************************************************/
 package org.eclipse.dltk.tcl.internal.debug.ui.interpreters;
 
-import java.lang.reflect.InvocationTargetException;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
 import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.SubProgressMonitor;
 import org.eclipse.dltk.core.DLTKCore;
@@ -31,7 +29,6 @@
 import org.eclipse.dltk.tcl.core.TclPackagesManager;
 import org.eclipse.dltk.tcl.core.packages.TclPackageInfo;
 import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
@@ -42,12 +39,9 @@
 	private Button fetchInterpreterInformation;
 
 	@Override
-	protected AddScriptInterpreterDialog createInterpreterDialog(
-			IInterpreterInstall standin) {
-		AddTclInterpreterDialog dialog = new AddTclInterpreterDialog(this,
-				getShell(), ScriptRuntime
-						.getInterpreterInstallTypes(getCurrentNature()),
-				standin);
+	protected AddScriptInterpreterDialog createInterpreterDialog(IInterpreterInstall standin) {
+		AddTclInterpreterDialog dialog = new AddTclInterpreterDialog(this, getShell(),
+				ScriptRuntime.getInterpreterInstallTypes(getCurrentNature()), standin);
 		return dialog;
 	}
 
@@ -59,21 +53,19 @@
 	@Override
 	public void createControl(Composite ancestor) {
 		super.createControl(ancestor);
-		fetchInterpreterInformation = createPushButton(buttons,
-				"Fetch information");
-		fetchInterpreterInformation
-				.addSelectionListener(new SelectionListener() {
-					public void widgetSelected(SelectionEvent e) {
-						IStructuredSelection selection = (IStructuredSelection) fInterpreterList
-								.getSelection();
-						final IInterpreterInstall install = (IInterpreterInstall) selection
-								.getFirstElement();
-						fetchInterpreterInformation(install);
-					}
+		fetchInterpreterInformation = createPushButton(buttons, "Fetch information");
+		fetchInterpreterInformation.addSelectionListener(new SelectionListener() {
+			@Override
+			public void widgetSelected(SelectionEvent e) {
+				IStructuredSelection selection = (IStructuredSelection) fInterpreterList.getSelection();
+				final IInterpreterInstall install = (IInterpreterInstall) selection.getFirstElement();
+				fetchInterpreterInformation(install);
+			}
 
-					public void widgetDefaultSelected(SelectionEvent e) {
-					}
-				});
+			@Override
+			public void widgetDefaultSelected(SelectionEvent e) {
+			}
+		});
 		enableButtons();
 	}
 
@@ -81,8 +73,7 @@
 	protected void enableButtons() {
 		super.enableButtons();
 		if (fetchInterpreterInformation != null) {
-			IStructuredSelection selection = (IStructuredSelection) fInterpreterList
-					.getSelection();
+			IStructuredSelection selection = (IStructuredSelection) fInterpreterList.getSelection();
 			int selectionCount = selection.size();
 			if (selectionCount == 1) {
 				fetchInterpreterInformation.setEnabled(true);
@@ -93,108 +84,93 @@
 	}
 
 	private void fetchInterpreterInformation(final IInterpreterInstall install) {
-		ProgressMonitorDialog dialog = new ProgressMonitorDialog(
-				fetchInterpreterInformation.getShell());
+		ProgressMonitorDialog dialog = new ProgressMonitorDialog(fetchInterpreterInformation.getShell());
 		try {
-			dialog.run(true, true, new IRunnableWithProgress() {
+			dialog.run(true, true, monitor -> {
+				IContentCache cache = ModelManager.getModelManager().getCoreCache();
+				monitor.beginTask("Fetching interpreter information", 100);
 
-				public void run(IProgressMonitor monitor)
-						throws InvocationTargetException, InterruptedException {
-					IContentCache cache = ModelManager.getModelManager()
-							.getCoreCache();
-					monitor.beginTask("Fetching interpreter information", 100);
-
-					List<TclPackageInfo> list = null;
-					try {
-						TclPackagesManager.markInterprterAsNotFetched(install);
-						list = TclPackagesManager.getPackageInfos(install);
-					} catch (Exception e) {
-						// Try one more time
-						list = TclPackagesManager.getPackageInfos(install);
-					}
-					monitor.worked(20);
-
-					SubProgressMonitor smon0 = new SubProgressMonitor(monitor,
-							40);
-					int s = 0;
-					int lsize = list.size();
-					smon0.beginTask("Fetch package information", lsize / 50);
-					while (s < lsize) {
-						int part = 50;
-						if (lsize - s < part) {
-							part = lsize - s;
-						}
-						if (smon0.isCanceled()) {
-							break;
-						}
-						smon0.subTask("Processing packages info ("
-								+ (lsize - s) + " left)");
-						Set<String> pkgs = new HashSet<String>();
-						for (int i = s; i < s + part; i++) {
-							pkgs.add(list.get(i).getName());
-						}
-						try {
-							List<TclPackageInfo> infos = TclPackagesManager
-									.getPackageInfos(install, pkgs, true);
-						} catch (Exception e) {
-							if (DLTKCore.DEBUG) {
-								e.printStackTrace();
-							}
-						}
-						s += part;
-						smon0.worked(1);
-					}
-
-					smon0.done();
-
-					SubProgressMonitor smon = new SubProgressMonitor(monitor,
-							40);
-					IEnvironment env = install.getEnvironment();
-					smon.beginTask("Processing packages", lsize);
-					int index = 1;
-					for (TclPackageInfo tclPackageInfo : list) {
-						smon.subTask("Processing package:"
-								+ tclPackageInfo.getName() + " ("
-								+ (lsize - index) + " left)");
-						index++;
-						if (smon.isCanceled()) {
-							break;
-						}
-						boolean processed = false;
-						try {
-							TclPackageInfo info = TclPackagesManager
-									.getPackageInfo(install, tclPackageInfo
-											.getName(), true);
-							if (info != null) {
-								List<String> sources = info.getSources();
-								Set<IPath> parents = new HashSet<IPath>();
-								for (String source : sources) {
-									IPath path = new Path(source);
-									IPath parent = path.removeLastSegments(1);
-									parents.add(parent);
-								}
-								for (IPath path : parents) {
-									IFileHandle file = env.getFile(path);
-									if (file.exists()) {
-										ArchiveContentCacheProvider
-												.processFolderIndexes(file,
-														cache, smon);
-										processed = true;
-									}
-								}
-							}
-						} catch (Exception e) {
-							if (DLTKCore.DEBUG) {
-								e.printStackTrace();
-							}
-						}
-						if (!processed) {
-							smon.worked(1);
-						}
-					}
-					smon.done();
-					monitor.done();
+				List<TclPackageInfo> list = null;
+				try {
+					TclPackagesManager.markInterprterAsNotFetched(install);
+					list = TclPackagesManager.getPackageInfos(install);
+				} catch (Exception e1) {
+					// Try one more time
+					list = TclPackagesManager.getPackageInfos(install);
 				}
+				monitor.worked(20);
+
+				SubProgressMonitor smon0 = new SubProgressMonitor(monitor, 40);
+				int s = 0;
+				int lsize = list.size();
+				smon0.beginTask("Fetch package information", lsize / 50);
+				while (s < lsize) {
+					int part = 50;
+					if (lsize - s < part) {
+						part = lsize - s;
+					}
+					if (smon0.isCanceled()) {
+						break;
+					}
+					smon0.subTask("Processing packages info (" + (lsize - s) + " left)");
+					Set<String> pkgs = new HashSet<>();
+					for (int i = s; i < s + part; i++) {
+						pkgs.add(list.get(i).getName());
+					}
+					try {
+						List<TclPackageInfo> infos = TclPackagesManager.getPackageInfos(install, pkgs, true);
+					} catch (Exception e2) {
+						if (DLTKCore.DEBUG) {
+							e2.printStackTrace();
+						}
+					}
+					s += part;
+					smon0.worked(1);
+				}
+
+				smon0.done();
+
+				SubProgressMonitor smon = new SubProgressMonitor(monitor, 40);
+				IEnvironment env = install.getEnvironment();
+				smon.beginTask("Processing packages", lsize);
+				int index = 1;
+				for (TclPackageInfo tclPackageInfo : list) {
+					smon.subTask("Processing package:" + tclPackageInfo.getName() + " (" + (lsize - index) + " left)");
+					index++;
+					if (smon.isCanceled()) {
+						break;
+					}
+					boolean processed = false;
+					try {
+						TclPackageInfo info = TclPackagesManager.getPackageInfo(install, tclPackageInfo.getName(),
+								true);
+						if (info != null) {
+							List<String> sources = info.getSources();
+							Set<IPath> parents = new HashSet<>();
+							for (String source : sources) {
+								IPath path1 = new Path(source);
+								IPath parent = path1.removeLastSegments(1);
+								parents.add(parent);
+							}
+							for (IPath path2 : parents) {
+								IFileHandle file = env.getFile(path2);
+								if (file.exists()) {
+									ArchiveContentCacheProvider.processFolderIndexes(file, cache, smon);
+									processed = true;
+								}
+							}
+						}
+					} catch (Exception e3) {
+						if (DLTKCore.DEBUG) {
+							e3.printStackTrace();
+						}
+					}
+					if (!processed) {
+						smon.worked(1);
+					}
+				}
+				smon.done();
+				monitor.done();
 			});
 		} catch (Exception e1) {
 			if (DLTKCore.DEBUG) {
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclPackagesContainerPage.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclPackagesContainerPage.java
index 29bf01f..dacd301 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclPackagesContainerPage.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/interpreters/TclPackagesContainerPage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2016 xored software, Inc.  and others.
+ * Copyright (c) 2016, 2017 xored software, Inc.  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,12 +29,10 @@
 import org.eclipse.dltk.ui.wizards.IBuildpathContainerPageExtension;
 import org.eclipse.dltk.ui.wizards.NewElementWizardPage;
 import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.IStructuredContentProvider;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.ITreeContentProvider;
 import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.swt.SWT;
@@ -52,8 +50,8 @@
 /**
  * FIXME Remove TclPackagesContainerPage class if not used anywhere
  */
-public class TclPackagesContainerPage extends NewElementWizardPage implements
-		IBuildpathContainerPage, IBuildpathContainerPageExtension {
+public class TclPackagesContainerPage extends NewElementWizardPage
+		implements IBuildpathContainerPage, IBuildpathContainerPageExtension {
 	public class PackagesLabelProvider extends LabelProvider {
 
 		@Override
@@ -71,19 +69,22 @@
 
 	}
 
-	private Set<String> packages = new HashSet<String>();
-	private Set<String> autoPackages = new HashSet<String>();
+	private Set<String> packages = new HashSet<>();
+	private Set<String> autoPackages = new HashSet<>();
 
 	private class PackagesContentProvider implements ITreeContentProvider {
 
 		private final Object[] NONE_OBJECT = new Object[0];
 
+		@Override
 		public void dispose() {
 		}
 
+		@Override
 		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
 		}
 
+		@Override
 		public Object[] getChildren(Object parentElement) {
 			if (parentElement instanceof Set) {
 				return getElements(parentElement);
@@ -91,14 +92,17 @@
 			return NONE_OBJECT;
 		}
 
+		@Override
 		public Object getParent(Object element) {
 			return null;
 		}
 
+		@Override
 		public boolean hasChildren(Object element) {
 			return false;
 		}
 
+		@Override
 		public Object[] getElements(Object inputElement) {
 			if (inputElement instanceof Set) {
 				return packages.toArray();
@@ -121,26 +125,28 @@
 		return new TclInterpreterComboBlock(null);
 	}
 
+	@Override
 	public boolean finish() {
 		return true;
 	}
 
+	@Override
 	public IBuildpathEntry getSelection() {
-		IBuildpathEntry createPackagesContainer = InterpreterContainerHelper
-				.createPackagesContainer(this.packages, this.autoPackages,
-						new Path(InterpreterContainerHelper.CONTAINER_PATH)
-								.append(this.scriptProject.getElementName()));
+		IBuildpathEntry createPackagesContainer = InterpreterContainerHelper.createPackagesContainer(this.packages,
+				this.autoPackages,
+				new Path(InterpreterContainerHelper.CONTAINER_PATH).append(this.scriptProject.getElementName()));
 		return createPackagesContainer;
 	}
 
+	@Override
 	public void setSelection(IBuildpathEntry containerEntry) {
 		this.entry = containerEntry;
 	}
 
+	@Override
 	public void createControl(Composite parent) {
 		Composite composite = new Composite(parent, SWT.NONE);
-		org.eclipse.swt.layout.GridLayout gridLayout = new org.eclipse.swt.layout.GridLayout(
-				2, false);
+		org.eclipse.swt.layout.GridLayout gridLayout = new org.eclipse.swt.layout.GridLayout(2, false);
 		composite.setLayout(gridLayout);
 
 		this.fElements = new TreeViewer(composite);
@@ -193,16 +199,13 @@
 		this.fElements.setContentProvider(new PackagesContentProvider());
 		this.fElements.setLabelProvider(new PackagesLabelProvider());
 		this.fElements.setInput(this.packages);
-		this.fElements
-				.addSelectionChangedListener(new ISelectionChangedListener() {
-					public void selectionChanged(SelectionChangedEvent event) {
-						ISelection selection = event.getSelection();
-						if (selection instanceof IStructuredSelection) {
-							IStructuredSelection sel = (IStructuredSelection) selection;
-							remove.setEnabled(!sel.isEmpty());
-						}
-					}
-				});
+		this.fElements.addSelectionChangedListener(event -> {
+			ISelection selection = event.getSelection();
+			if (selection instanceof IStructuredSelection) {
+				IStructuredSelection sel = (IStructuredSelection) selection;
+				remove.setEnabled(!sel.isEmpty());
+			}
+		});
 		remove.setEnabled(false);
 	}
 
@@ -225,11 +228,7 @@
 	}
 
 	private void refreshView() {
-		PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				fElements.refresh();
-			}
-		});
+		PlatformUI.getWorkbench().getDisplay().asyncExec(() -> fElements.refresh());
 	}
 
 	protected void addPackage() {
@@ -242,22 +241,22 @@
 			}
 		}
 		if (install != null) {
-			Set<String> packages = TclPackagesManager
-					.getPackageInfosAsString(install);
-			final Set<String> names = new HashSet<String>();
+			Set<String> packages = TclPackagesManager.getPackageInfosAsString(install);
+			final Set<String> names = new HashSet<>();
 			names.addAll(packages);
-			ListDialog dialog = new ListDialog(this.fElements.getControl()
-					.getShell());
+			ListDialog dialog = new ListDialog(this.fElements.getControl().getShell());
 			dialog.setContentProvider(new IStructuredContentProvider() {
+				@Override
 				public Object[] getElements(Object inputElement) {
 					return names.toArray();
 				}
 
+				@Override
 				public void dispose() {
 				}
 
-				public void inputChanged(Viewer viewer, Object oldInput,
-						Object newInput) {
+				@Override
+				public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
 				}
 			});
 			dialog.setLabelProvider(new PackagesLabelProvider());
@@ -271,9 +270,8 @@
 				refreshView();
 			}
 		} else {
-			MessageBox box = new MessageBox(this.fElements.getControl()
-					.getShell(), SWT.OK | SWT.ICON_INFORMATION
-					| SWT.APPLICATION_MODAL);
+			MessageBox box = new MessageBox(this.fElements.getControl().getShell(),
+					SWT.OK | SWT.ICON_INFORMATION | SWT.APPLICATION_MODAL);
 			box.setText("Packages");
 			box.setText("Project interpreter could not be found...");
 			box.open();
@@ -290,28 +288,25 @@
 			}
 		}
 		if (install != null) {
-			Set<String> packages = TclPackagesManager
-					.getPackageInfosAsString(install);
+			Set<String> packages = TclPackagesManager.getPackageInfosAsString(install);
 			this.packages.addAll(packages);
 
 			refreshView();
 		} else {
-			MessageBox box = new MessageBox(this.fElements.getControl()
-					.getShell(), SWT.OK | SWT.ICON_INFORMATION
-					| SWT.APPLICATION_MODAL);
+			MessageBox box = new MessageBox(this.fElements.getControl().getShell(),
+					SWT.OK | SWT.ICON_INFORMATION | SWT.APPLICATION_MODAL);
 			box.setText("Packages");
 			box.setText("Project interpreter could not be found...");
 			box.open();
 		}
 	}
 
-	public void initialize(IScriptProject project,
-			IBuildpathEntry[] currentEntries) {
+	@Override
+	public void initialize(IScriptProject project, IBuildpathEntry[] currentEntries) {
 		this.scriptProject = project;
-		Set<String> set = new HashSet<String>();
-		Set<String> autoSet = new HashSet<String>();
-		InterpreterContainerHelper.getInterpreterContainerDependencies(project,
-				set, autoSet);
+		Set<String> set = new HashSet<>();
+		Set<String> autoSet = new HashSet<>();
+		InterpreterContainerHelper.getInterpreterContainerDependencies(project, set, autoSet);
 		this.packages.addAll(set);
 		this.autoPackages.addAll(autoSet);
 	}
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/launchConfigurations/TclRemoteTab.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/launchConfigurations/TclRemoteTab.java
index d37f4ea..a2165ad 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/launchConfigurations/TclRemoteTab.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/launchConfigurations/TclRemoteTab.java
@@ -1,11 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 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
  * http://www.eclipse.org/legal/epl-v10.html
  *
- 
  *******************************************************************************/
 package org.eclipse.dltk.tcl.internal.debug.ui.launchConfigurations;
 
@@ -16,8 +15,6 @@
 import org.eclipse.dltk.debug.core.DLTKDebugPlugin;
 import org.eclipse.dltk.launching.ScriptLaunchConfigurationConstants;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
@@ -63,14 +60,13 @@
 	protected void createInstruction(Composite parent, Object data) {
 		Label instruction = new Label(parent, SWT.NONE);
 		instruction.setLayoutData(data);
-		instruction
-				.setText("To start Tcl debugging engine use this command temlate:");
+		instruction.setText("To start Tcl debugging engine use this command temlate:");
 	}
 
 	protected void createPathTemplate(Composite parent, Object data) {
 		Text text = new Text(parent, SWT.NONE);
-		text
-				.setText("${DEBUGGIN_ENGINE} -host-ide ${HOST} -port-ide ${PORT} -app-shell ${TCL_INTERPRETER} -ide-key ${SESSION_ID} -app-file {TCL_FILE}");
+		text.setText(
+				"${DEBUGGIN_ENGINE} -host-ide ${HOST} -port-ide ${PORT} -app-shell ${TCL_INTERPRETER} -ide-key ${SESSION_ID} -app-file {TCL_FILE}");
 	}
 
 	protected void createConnectionPropertiesGroup(Composite parent, Object data) {
@@ -87,44 +83,29 @@
 		portLabel.setText("Local port:");
 
 		portText = new Text(group, SWT.BORDER);
-		portText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-
-				updateLaunchConfigurationDialog();
-			}
-		});
-		portText.setLayoutData(new GridData(GridData.FILL, SWT.NONE, true,
-				false));
+		portText.addModifyListener(e -> updateLaunchConfigurationDialog());
+		portText.setLayoutData(new GridData(GridData.FILL, SWT.NONE, true, false));
 
 		// Id string
 		Label idLabel = new Label(group, SWT.NONE);
 		idLabel.setText("Connection id:");
 
 		sessionIdText = new Text(group, SWT.BORDER);
-		sessionIdText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				updateLaunchConfigurationDialog();
-			}
-		});
+		sessionIdText.addModifyListener(e -> updateLaunchConfigurationDialog());
 
-		sessionIdText.setLayoutData(new GridData(GridData.FILL, SWT.NONE, true,
-				false));
+		sessionIdText.setLayoutData(new GridData(GridData.FILL, SWT.NONE, true, false));
 
 		// Timeout
 		Label timeoutLabel = new Label(group, SWT.NONE);
 		timeoutLabel.setText("Waiting timeout:");
 
 		timeoutText = new Text(group, SWT.BORDER);
-		timeoutText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				updateLaunchConfigurationDialog();
-			}
-		});
+		timeoutText.addModifyListener(e -> updateLaunchConfigurationDialog());
 
-		timeoutText.setLayoutData(new GridData(GridData.FILL, SWT.NONE, true,
-				false));
+		timeoutText.setLayoutData(new GridData(GridData.FILL, SWT.NONE, true, false));
 	}
 
+	@Override
 	public void createControl(Composite parent) {
 		Composite composite = new Composite(parent, SWT.NONE);
 		setControl(composite);
@@ -133,85 +114,65 @@
 		layout.numColumns = 1;
 		composite.setLayout(layout);
 
-		createConnectionPropertiesGroup(composite, new GridData(GridData.FILL,
-				SWT.NONE, true, false));
+		createConnectionPropertiesGroup(composite, new GridData(GridData.FILL, SWT.NONE, true, false));
 
-		createInstruction(composite, new GridData(GridData.FILL, SWT.NONE,
-				true, false));
+		createInstruction(composite, new GridData(GridData.FILL, SWT.NONE, true, false));
 
-		createPathTemplate(composite, new GridData(GridData.FILL, SWT.NONE,
-				true, false));
+		createPathTemplate(composite, new GridData(GridData.FILL, SWT.NONE, true, false));
 	}
 
+	@Override
 	public String getName() {
 		return "Tcl Remote Properties";
 	}
 
+	@Override
 	public void initializeFrom(ILaunchConfiguration configuration) {
 		try {
 			// Port
-			int port = configuration.getAttribute(
-					ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_PORT, -1);
+			int port = configuration.getAttribute(ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_PORT, -1);
 
 			setPort(port != -1 ? port : DEFAULT_PORT);
 
 			// Session id
-			String sessionId = configuration
-					.getAttribute(
-							ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_SESSION_ID,
-							(String) null);
+			String sessionId = configuration.getAttribute(ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_SESSION_ID,
+					(String) null);
 
 			setSessionId(sessionId != null ? sessionId : DEFAULT_SESSION_ID);
 
 			// Timeout
-			int timeout = configuration
-					.getAttribute(
-							ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_WAITING_TIMEOUT,
-							DLTKDebugPlugin.getConnectionTimeout());
+			int timeout = configuration.getAttribute(ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_WAITING_TIMEOUT,
+					DLTKDebugPlugin.getConnectionTimeout());
 			setTimeout(timeout);
 		} catch (CoreException e) {
 			// TODO: Log this
 		}
 	}
 
+	@Override
 	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
 		try {
 			setErrorMessage(null);
 
-			configuration.setAttribute(
-					ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_REMOTE,
-					true);
+			configuration.setAttribute(ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_REMOTE, true);
 
-			configuration.setAttribute(
-					ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_PORT,
-					getPort());
+			configuration.setAttribute(ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_PORT, getPort());
 
-			configuration
-					.setAttribute(
-							ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_SESSION_ID,
-							getSessionId());
+			configuration.setAttribute(ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_SESSION_ID, getSessionId());
 
-			configuration
-					.setAttribute(
-							ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_WAITING_TIMEOUT,
-							getTimeout());
+			configuration.setAttribute(ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_WAITING_TIMEOUT, getTimeout());
 		} catch (NumberFormatException e) {
 			setErrorMessage("Should be a number instead of string");
 		}
 	}
 
+	@Override
 	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		configuration.setAttribute(
-				ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_PORT,
-				DEFAULT_PORT);
+		configuration.setAttribute(ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_PORT, DEFAULT_PORT);
 
-		configuration.setAttribute(
-				ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_SESSION_ID,
-				DEFAULT_SESSION_ID);
+		configuration.setAttribute(ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_SESSION_ID, DEFAULT_SESSION_ID);
 
-		configuration
-				.setAttribute(
-						ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_WAITING_TIMEOUT,
-						DLTKDebugPlugin.getConnectionTimeout());
+		configuration.setAttribute(ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_WAITING_TIMEOUT,
+				DLTKDebugPlugin.getConnectionTimeout());
 	}
 }
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/launchConfigurations/TclRemoteTabGroup.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/launchConfigurations/TclRemoteTabGroup.java
index 36afe10..1467d69 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/launchConfigurations/TclRemoteTabGroup.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/launchConfigurations/TclRemoteTabGroup.java
@@ -1,11 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 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
  * http://www.eclipse.org/legal/epl-v10.html
  *
- 
  *******************************************************************************/
 package org.eclipse.dltk.tcl.internal.debug.ui.launchConfigurations;
 
@@ -16,13 +15,10 @@
 
 public class TclRemoteTabGroup extends AbstractLaunchConfigurationTabGroup {
 
-	/*
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup#createTabs(org.eclipse.debug.ui.ILaunchConfigurationDialog,
-	 *      java.lang.String)
-	 */
+	@Override
 	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] {
-				new TclRemoteLaunchConfigurationTab(mode), new CommonTab() };
+		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] { new TclRemoteLaunchConfigurationTab(mode),
+				new CommonTab() };
 
 		setTabs(tabs);
 	}
diff --git a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/launchConfigurations/TclTabGroup.java b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/launchConfigurations/TclTabGroup.java
index d0055bb..f23001e 100644
--- a/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/launchConfigurations/TclTabGroup.java
+++ b/tcl/plugins/org.eclipse.dltk.tcl.debug.ui/src/org/eclipse/dltk/tcl/internal/debug/ui/launchConfigurations/TclTabGroup.java
@@ -1,11 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 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
  * http://www.eclipse.org/legal/epl-v10.html
  *
- 
  *******************************************************************************/
 package org.eclipse.dltk.tcl.internal.debug.ui.launchConfigurations;
 
@@ -16,12 +15,11 @@
 import org.eclipse.dltk.tcl.internal.debug.ui.interpreters.TclInterpreterTab;
 
 public class TclTabGroup extends AbstractLaunchConfigurationTabGroup {
+	@Override
 	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		TclMainLaunchConfigurationTab main = new TclMainLaunchConfigurationTab(
-				mode);
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] { main,
-				new TclScriptArgumentsTab(), new TclInterpreterTab(main),
-				new TclEnvironmentTab(),
+		TclMainLaunchConfigurationTab main = new TclMainLaunchConfigurationTab(mode);
+		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] { main, new TclScriptArgumentsTab(),
+				new TclInterpreterTab(main), new TclEnvironmentTab(),
 				// new SourceContainerLookupTab(),
 				// new CommonTab()
 				new ScriptCommonTab(main) };