Modernize o.e.dltk.ruby.formatter.tests.

* Bump BREE to 1.6.
* Generify.
* Add missing @Override.
* Remove useless Eclipse-LazyStart.
* Stricter compiler warnings.
* Enable save actions.
* Add missing copyright headers.


Change-Id: If2da46e10ca1532e65e7caae4fbe8b41f8ad0730
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/tests/org.eclipse.dltk.ruby.formatter.tests/.classpath b/tests/org.eclipse.dltk.ruby.formatter.tests/.classpath
index 64c5e31..ad32c83 100644
--- a/tests/org.eclipse.dltk.ruby.formatter.tests/.classpath
+++ b/tests/org.eclipse.dltk.ruby.formatter.tests/.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.6"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/tests/org.eclipse.dltk.ruby.formatter.tests/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.dltk.ruby.formatter.tests/.settings/org.eclipse.jdt.core.prefs
index 264771d..cc8d94e 100644
--- a/tests/org.eclipse.dltk.ruby.formatter.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/tests/org.eclipse.dltk.ruby.formatter.tests/.settings/org.eclipse.jdt.core.prefs
@@ -1,20 +1,33 @@
 eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.6
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
 org.eclipse.jdt.core.compiler.problem.deprecation=warning
 org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
 org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
 org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
 org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
 org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
 org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
@@ -22,31 +35,52 @@
 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=ignore
 org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
 org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
 org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+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=warning
+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=warning
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+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.unnecessaryElse=ignore
@@ -56,17 +90,20 @@
 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.5
+org.eclipse.jdt.core.compiler.source=1.6
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/tests/org.eclipse.dltk.ruby.formatter.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.dltk.ruby.formatter.tests/.settings/org.eclipse.jdt.ui.prefs
index 28778fe..e25132f 100644
--- a/tests/org.eclipse.dltk.ruby.formatter.tests/.settings/org.eclipse.jdt.ui.prefs
+++ b/tests/org.eclipse.dltk.ruby.formatter.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -1,3 +1,61 @@
 eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
 formatter_profile=org.eclipse.jdt.ui.default.eclipse_profile
 formatter_settings_version=12
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=true
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=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=false
+sp_cleanup.remove_trailing_whitespaces=false
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/tests/org.eclipse.dltk.ruby.formatter.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.dltk.ruby.formatter.tests/META-INF/MANIFEST.MF
index 91f70ca..9fa1b2e 100644
--- a/tests/org.eclipse.dltk.ruby.formatter.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.dltk.ruby.formatter.tests/META-INF/MANIFEST.MF
@@ -15,8 +15,7 @@
  org.eclipse.ui,
  org.eclipse.dltk.formatter,
  org.eclipse.dltk.formatter.tests
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Export-Package: org.eclipse.dltk.ruby.formatter.tests
 Bundle-Activator: org.eclipse.dltk.ruby.formatter.tests.RubyFormatterTestsPlugin
 Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/AbstractRubyFormatterTest.java b/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/AbstractRubyFormatterTest.java
index dbe0857..b79ebdf 100644
--- a/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/AbstractRubyFormatterTest.java
+++ b/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/AbstractRubyFormatterTest.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008 xored software, Inc.
+ * Copyright (c) 2008, 2016 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
@@ -19,7 +19,9 @@
 
 public abstract class AbstractRubyFormatterTest extends AbstractFormatterTest {
 
-	protected IScriptFormatter createFormatter(Map preferences) {
+	@Override
+	protected IScriptFormatter createFormatter(
+			Map<String, Object> preferences) {
 		return preferences != null ? new TestRubyFormatter(Util.LINE_SEPARATOR,
 				preferences) : new TestRubyFormatter();
 	}
diff --git a/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/CommentWrapTests.java b/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/CommentWrapTests.java
index ad4ecdc..aebe86d 100644
--- a/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/CommentWrapTests.java
+++ b/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/CommentWrapTests.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008 xored software, Inc.
+ * Copyright (c) 2008, 2016 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
@@ -35,8 +35,10 @@
 		assertEquals(output, format(input));
 	}
 
-	protected Map getDefaultPreferences() {
-		Map preferences = TestRubyFormatter.createTestingPreferences();
+	@Override
+	protected Map<String, Object> getDefaultPreferences() {
+		Map<String, Object> preferences = TestRubyFormatter
+				.createTestingPreferences();
 		preferences.put(RubyFormatterConstants.WRAP_COMMENTS, Boolean.TRUE
 				.toString());
 		preferences.put(RubyFormatterConstants.WRAP_COMMENTS_LENGTH, "20");
diff --git a/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/FormatRubyLibTest.java b/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/FormatRubyLibTest.java
index 663bb37..2ff30e4 100644
--- a/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/FormatRubyLibTest.java
+++ b/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/FormatRubyLibTest.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2016 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -17,9 +17,6 @@
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
 
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
 import org.eclipse.dltk.compiler.util.Util;
 import org.eclipse.dltk.ruby.formatter.RubyFormatter;
 import org.eclipse.dltk.ruby.formatter.internal.RubyFormatterPlugin;
@@ -30,6 +27,9 @@
 import org.eclipse.jface.text.IDocument;
 import org.eclipse.text.edits.TextEdit;
 
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
 public class FormatRubyLibTest extends AbstractRubyFormatterTest {
 
 	private static final String FILENAME = "/home/dltk/apps/ruby-lib.zip";
@@ -46,6 +46,7 @@
 					.getName());
 			suite.addTest(new TestCase("testRubyLib-NOT-FOUND") {
 
+				@Override
 				protected void runTest() throws Throwable {
 					System.out.println(FILENAME + " not found");
 				}
@@ -80,6 +81,7 @@
 				if (!entry.isDirectory() && isRubyFile(entry.getName())) {
 					final InputStream entryStream = new FilterInputStream(
 							zipInputStream) {
+						@Override
 						public void close() throws IOException {
 							// empty
 						}
diff --git a/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/ParserTest.java b/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/ParserTest.java
index 7eb04c5..fe42caa 100644
--- a/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/ParserTest.java
+++ b/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/ParserTest.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008 xored software, Inc.
+ * Copyright (c) 2008, 2016 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
@@ -46,7 +46,7 @@
 		final IFormatterDocument document = new FormatterDocument(input);
 		final IFormatterContainerNode root = builder.build(result, document);
 		assertNotNull(root);
-		List children = root.getChildren();
+		List<IFormatterNode> children = root.getChildren();
 		assertEquals(2, children.size());
 		final FormatterBlockWithBeginEndNode classNode = (FormatterBlockWithBeginEndNode) children
 				.get(0);
@@ -70,15 +70,15 @@
 		String input = createInput(id1, hereDoc1, id2, hereDoc2);
 		RubyParserResult result = RubyParser.parse(input);
 		assertNotNull(result);
-		final List heredocNodes = selectHeredocNodes(result);
+		final List<HeredocNode> heredocNodes = selectHeredocNodes(result);
 		assertEquals(2, heredocNodes.size());
-		final HeredocNode doc1 = (HeredocNode) heredocNodes.get(0);
+		final HeredocNode doc1 = heredocNodes.get(0);
 		assertTrue(substring(input, doc1.getEndMarkerPosition()).indexOf(id1) >= 0);
 		final String content1 = substring(input, doc1.getContentPosition());
 		assertTrue(content1.indexOf(id1) < 0);
 		assertTrue(content1.indexOf(hereDoc1[0]) >= 0);
 		assertTrue(content1.indexOf(hereDoc1[1]) >= 0);
-		final HeredocNode doc2 = (HeredocNode) heredocNodes.get(1);
+		final HeredocNode doc2 = heredocNodes.get(1);
 		assertTrue(substring(input, doc2.getEndMarkerPosition()).indexOf(id2) >= 0);
 		final String content2 = substring(input, doc2.getContentPosition());
 		assertTrue(content2.indexOf(id2) < 0);
@@ -97,7 +97,7 @@
 
 	private String createInput(final String id1, final String[] hereDoc1,
 			final String id2, final String[] hereDoc2) {
-		List lines = new ArrayList();
+		List<String> lines = new ArrayList<String>();
 		lines.add("def myfunc");
 		lines.add("print <<\"" + id1 + "\", <<\"" + id2
 				+ "\",1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19");
@@ -110,22 +110,23 @@
 		return input;
 	}
 
-	private List selectHeredocNodes(RubyParserResult result) {
-		final List heredocNodes = new ArrayList();
+	private List<HeredocNode> selectHeredocNodes(RubyParserResult result) {
+		final List<HeredocNode> heredocNodes = new ArrayList<HeredocNode>();
 		result.getAST().accept(new AbstractVisitor() {
 
+			@Override
 			protected Instruction visitNode(Node visited) {
 				if (visited instanceof HeredocNode) {
-					heredocNodes.add(visited);
+					heredocNodes.add((HeredocNode) visited);
 				}
 				visitChildren(visited);
 				return null;
 			}
 
 			private void visitChildren(Node visited) {
-				List children = visited.childNodes();
-				for (Iterator i = children.iterator(); i.hasNext();) {
-					final Node child = (Node) i.next();
+				List<Node> children = visited.childNodes();
+				for (Iterator<Node> i = children.iterator(); i.hasNext();) {
+					final Node child = i.next();
 					visitChild(child);
 				}
 			}
@@ -149,8 +150,9 @@
 		final String input = "hash = { one: 1, two: 2 }";
 		RubyParserResult result = RubyParser.parse(input);
 		assertNotNull(result);
-		final List arrays = new ArrayList();
+		final List<Node> arrays = new ArrayList<Node>();
 		result.getAST().accept(new AbstractVisitor() {
+			@Override
 			protected Instruction visitNode(Node visited) {
 				if (visited instanceof ArrayNode) {
 					arrays.add(visited);
@@ -160,9 +162,9 @@
 			}
 
 			private void visitChildren(Node visited) {
-				List children = visited.childNodes();
-				for (Iterator i = children.iterator(); i.hasNext();) {
-					final Node child = (Node) i.next();
+				List<Node> children = visited.childNodes();
+				for (Iterator<Node> i = children.iterator(); i.hasNext();) {
+					final Node child = i.next();
 					visitChild(child);
 				}
 			}
diff --git a/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/RubyFormatterTestsPlugin.java b/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/RubyFormatterTestsPlugin.java
index 4eeb955..bcd7512 100644
--- a/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/RubyFormatterTestsPlugin.java
+++ b/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/RubyFormatterTestsPlugin.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2016 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
+ *
+ * Contributors:
+ *     xored software, Inc. - initial API and implementation
+ *******************************************************************************/
 package org.eclipse.dltk.ruby.formatter.tests;
 
 import java.util.Map;
@@ -29,11 +39,13 @@
 	public RubyFormatterTestsPlugin() {
 	}
 
+	@Override
 	public void start(BundleContext context) throws Exception {
 		super.start(context);
 		plugin = this;
 	}
 
+	@Override
 	public void stop(BundleContext context) throws Exception {
 		plugin = null;
 		super.stop(context);
@@ -70,17 +82,22 @@
 
 	public static final IScriptedTestContext CONTEXT = new IScriptedTestContext() {
 
+		@Override
 		public Bundle getResourceBundle() {
 			return getDefault().getBundle();
 		}
 
+		@Override
 		public String getCharset() {
 			return AllTests.CHARSET;
 		}
 
-		public IScriptFormatter createFormatter(Map preferences) {
+		@Override
+		public IScriptFormatter createFormatter(
+				Map<String, Object> preferences) {
 			if (preferences != null) {
-				final Map prefs = TestRubyFormatter.createTestingPreferences();
+				final Map<String, Object> prefs = TestRubyFormatter
+						.createTestingPreferences();
 				prefs.putAll(preferences);
 				return new TestRubyFormatter(Util.LINE_SEPARATOR, prefs);
 			} else {
@@ -88,6 +105,7 @@
 			}
 		}
 
+		@Override
 		public String validateOptionName(String name) {
 			if (RubyFormatter.isBooleanOption(name)
 					|| RubyFormatter.isIntegerOption(name)) {
@@ -97,6 +115,7 @@
 			}
 		}
 
+		@Override
 		public String validateOptionValue(String name, String value) {
 			if (RubyFormatter.isBooleanOption(name)) {
 				return "false".equals(value) || "true".equals(value) ? value
diff --git a/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/TestRubyFormatter.java b/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/TestRubyFormatter.java
index 3c8926b..d69f63d 100644
--- a/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/TestRubyFormatter.java
+++ b/tests/org.eclipse.dltk.ruby.formatter.tests/src/org/eclipse/dltk/ruby/formatter/tests/TestRubyFormatter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008 xored software, Inc.
+ * Copyright (c) 2008, 2016 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
@@ -25,16 +25,18 @@
 		super(Util.LINE_SEPARATOR, createTestingPreferences());
 	}
 
-	public TestRubyFormatter(String lineDelimiter, Map preferences) {
+	public TestRubyFormatter(String lineDelimiter,
+			Map<String, Object> preferences) {
 		super(lineDelimiter, preferences);
 	}
 
+	@Override
 	protected boolean isValidation() {
 		return false;
 	}
 
-	public static Map createTestingPreferences() {
-		final Map result = new HashMap();
+	public static Map<String, Object> createTestingPreferences() {
+		final Map<String, Object> result = new HashMap<String, Object>();
 		for (int i = 0; i < INDENTING.length; ++i) {
 			result.put(INDENTING[i], Boolean.TRUE);
 		}