Modernize o.e.dltk.ruby.formatter.

* Bump BREE to Java 1.6.
* Add missing @Override.
* Generify.
* Add missing copyright headers.
* Stricter compiler settings and enable save actions.

Change-Id: Ib28766dda16e2cea4d618fe34af4c1f79ca296cf
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/.classpath b/plugins/org.eclipse.dltk.ruby.formatter/.classpath
index 583a869..a5c0514 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/.classpath
+++ b/plugins/org.eclipse.dltk.ruby.formatter/.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="src" path="jruby-src"/>
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.dltk.ruby.formatter/.settings/org.eclipse.jdt.core.prefs
index 28c3f4f..7009624 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.dltk.ruby.formatter/.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=warning
 org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
 org.eclipse.jdt.core.compiler.problem.fatalOptionalError=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=ignore
+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=warning
+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=warning
 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.redundantSpecificationOfTypeArguments=ignore
 org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
 org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
 org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
 org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
 org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
 org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=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,14 +90,17 @@
 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
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.dltk.ruby.formatter/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..72e1da1
--- /dev/null
+++ b/plugins/org.eclipse.dltk.ruby.formatter/.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=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/plugins/org.eclipse.dltk.ruby.formatter/META-INF/MANIFEST.MF b/plugins/org.eclipse.dltk.ruby.formatter/META-INF/MANIFEST.MF
index eabcf21..fe13762 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.dltk.ruby.formatter/META-INF/MANIFEST.MF
@@ -15,7 +15,7 @@
  org.eclipse.dltk.ruby.ui;bundle-version="0.0.0",
  org.eclipse.ui
 Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Export-Package: org.eclipse.dltk.ruby.formatter,
  org.eclipse.dltk.ruby.formatter.internal,
  org.eclipse.dltk.ruby.formatter.internal.nodes,
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/RubyFormatter.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/RubyFormatter.java
index 4675ace..c90d757 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/RubyFormatter.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/RubyFormatter.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
@@ -63,11 +63,12 @@
 
 	private final String lineDelimiter;
 
-	public RubyFormatter(String lineDelimiter, Map preferences) {
+	public RubyFormatter(String lineDelimiter, Map<String, ? extends Object> preferences) {
 		super(preferences);
 		this.lineDelimiter = lineDelimiter;
 	}
 
+	@Override
 	public int detectIndentationLevel(IDocument document, int offset) {
 		final String input = document.get();
 		final RubyParserResult result;
@@ -93,6 +94,7 @@
 		return 0;
 	}
 
+	@Override
 	public TextEdit format(String source, int offset, int length, int indent)
 			throws FormatterException {
 		final String input = source.substring(offset, offset + length);
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/RubyFormatterFactory.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/RubyFormatterFactory.java
index 9ce9ca5..b80e2e2 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/RubyFormatterFactory.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/RubyFormatterFactory.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,11 +25,13 @@
 
 public class RubyFormatterFactory extends AbstractScriptFormatterFactory {
 
+	@Override
 	public PreferenceKey getProfilesKey() {
 		return new PreferenceKey(RubyFormatterPlugin.PLUGIN_ID,
 				RubyFormatterConstants.FORMATTER_PROFILES);
 	}
 
+	@Override
 	public PreferenceKey getActiveProfileKey() {
 		return new PreferenceKey(RubyFormatterPlugin.PLUGIN_ID,
 				RubyFormatterConstants.FORMATTER_ACTIVE_PROFILE);
@@ -58,6 +60,7 @@
 			RubyFormatterConstants.WRAP_COMMENTS,
 			RubyFormatterConstants.WRAP_COMMENTS_LENGTH };
 
+	@Override
 	public PreferenceKey[] getPreferenceKeys() {
 		final PreferenceKey[] result = new PreferenceKey[KEYS.length];
 		for (int i = 0; i < KEYS.length; ++i) {
@@ -76,15 +79,18 @@
 		return result;
 	}
 
+	@Override
 	public IScriptFormatter createFormatter(String lineDelimiter,
-			Map preferences) {
+			Map<String, String> preferences) {
 		return new RubyFormatter(lineDelimiter, preferences);
 	}
 
+	@Override
 	public URL getPreviewContent() {
 		return getClass().getResource("formatterPreview.rb"); //$NON-NLS-1$
 	}
 
+	@Override
 	public IFormatterModifyDialog createDialog(
 			IFormatterModifyDialogOwner dialogOwner) {
 		return new RubyFormatterModifyDialog(dialogOwner, this);
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/DumpContentException.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/DumpContentException.java
index 03f3acc..46d4f04 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/DumpContentException.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/DumpContentException.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
@@ -23,6 +23,7 @@
 		super(message);
 	}
 
+	@Override
 	public void printStackTrace(PrintStream s) {
 		synchronized (s) {
 			s.println("========"); //$NON-NLS-1$
@@ -31,6 +32,7 @@
 		}
 	}
 
+	@Override
 	public void printStackTrace(PrintWriter s) {
 		synchronized (s) {
 			s.println("========"); //$NON-NLS-1$
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterContext.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterContext.java
index 3224614..897874d 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterContext.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterContext.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
@@ -22,6 +22,7 @@
 		super(indent);
 	}
 
+	@Override
 	protected boolean isCountable(IFormatterNode node) {
 		return node instanceof IFormatterContainerNode
 				|| node instanceof FormatterRequireNode;
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterNodeBuilder.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterNodeBuilder.java
index 93493ee..d274800 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterNodeBuilder.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterNodeBuilder.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
@@ -100,11 +100,13 @@
 		start(root);
 		result.getAST().accept(new AbstractVisitor() {
 
+			@Override
 			protected Instruction visitNode(Node visited) {
 				visitChildren(visited);
 				return null;
 			}
 
+			@Override
 			public Instruction visitClassNode(ClassNode visited) {
 				FormatterClassNode classNode = new FormatterClassNode(document);
 				classNode.setBegin(createTextNode(document, visited
@@ -117,6 +119,7 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitSClassNode(SClassNode visited) {
 				FormatterClassNode classNode = new FormatterClassNode(document);
 				classNode.setBegin(createTextNode(document, visited
@@ -129,6 +132,7 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitModuleNode(ModuleNode visited) {
 				FormatterModuleNode moduleNode = new FormatterModuleNode(
 						document);
@@ -142,10 +146,12 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitDefnNode(DefnNode visited) {
 				return visitMethodDefNode(visited);
 			}
 
+			@Override
 			public Instruction visitDefsNode(DefsNode visited) {
 				return visitMethodDefNode(visited);
 			}
@@ -165,6 +171,7 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitWhileNode(WhileNode visited) {
 				if (!visited.isBlock()) {
 					visitChildren(visited);
@@ -181,6 +188,7 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitIterNode(IterNode visited) {
 				FormatterDoNode forNode = new FormatterDoNode(document);
 				forNode.setBegin(createTextNode(document, visited.getBegin()));
@@ -192,6 +200,7 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitForNode(ForNode visited) {
 				FormatterForNode forNode = new FormatterForNode(document);
 				forNode.setBegin(createTextNode(document, visited.getBegin()));
@@ -203,6 +212,7 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitUntilNode(UntilNode visited) {
 				if (!visited.isBlock()) {
 					visitChild(visited.getBodyNode());
@@ -226,6 +236,7 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitCaseNode(CaseNode visited) {
 				FormatterCaseNode caseNode = new FormatterCaseNode(document);
 				final int caseEnd = visited.getCaseKeyword().getPosition()
@@ -275,6 +286,7 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitCommentNode(CommentNode visited) {
 				FormatterRDocNode commentNode = new FormatterRDocNode(document,
 						visited.getStartOffset(), visited.getEndOffset());
@@ -282,9 +294,10 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitIfNode(IfNode visited) {
 				if (visited.isInline()) {
-					List children = new ArrayList(3);
+					List<Node> children = new ArrayList<Node>(3);
 					if (visited.getThenBody() != null) {
 						children.add(visited.getThenBody());
 					}
@@ -353,6 +366,7 @@
 			 * org.jruby.ast.visitor.AbstractVisitor#visitBeginNode(org.jruby
 			 * .ast.BeginNode)
 			 */
+			@Override
 			public Instruction visitBeginNode(BeginNode visited) {
 				FormatterBeginNode beginNode = new FormatterBeginNode(document);
 				beginNode.setBegin(createTextNode(document, visited
@@ -366,6 +380,7 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitRescueNode(RescueNode visited) {
 				if (visited.isInline()) {
 					return null;
@@ -408,6 +423,7 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitEnsureNode(EnsureNode visited) {
 				visitChild(visited.getBodyNode());
 				FormatterEnsureNode ensureNode = new FormatterEnsureNode(
@@ -420,6 +436,7 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitPreExeNode(PreExeNode visited) {
 				FormatterAtBeginNode endNode = new FormatterAtBeginNode(
 						document);
@@ -436,6 +453,7 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitPostExeNode(PostExeNode visited) {
 				FormatterAtEndNode endNode = new FormatterAtEndNode(document);
 				endNode.setBegin(createTextNode(document, visited
@@ -451,6 +469,7 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitStrNode(StrNode visited) {
 				FormatterStringNode strNode = new FormatterStringNode(document,
 						visited.getStartOffset(), visited.getEndOffset());
@@ -458,6 +477,7 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitDStrNode(DStrNode visited) {
 				FormatterStringNode strNode = new FormatterStringNode(document,
 						visited.getStartOffset(), visited.getEndOffset());
@@ -465,6 +485,7 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitRegexpNode(RegexpNode visited) {
 				FormatterStringNode strNode = new FormatterStringNode(document,
 						visited.getStartOffset(), visited.getEndOffset());
@@ -472,6 +493,7 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitDRegxNode(DRegexpNode visited) {
 				FormatterStringNode strNode = new FormatterStringNode(document,
 						visited.getStartOffset(), visited.getEndOffset());
@@ -479,6 +501,7 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitXStrNode(XStrNode visited) {
 				FormatterStringNode strNode = new FormatterStringNode(document,
 						visited.getStartOffset(), visited.getEndOffset());
@@ -486,6 +509,7 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitHeredocNode(HeredocNode visited) {
 				FormatterHereDocNode heredocNode = new FormatterHereDocNode(
 						document, visited.getStartOffset(), visited
@@ -498,6 +522,7 @@
 				return null;
 			}
 
+			@Override
 			public Instruction visitFCallNode(FCallNode visited) {
 				if (isRequireMethod(visited)) {
 					FormatterRequireNode requireNode = new FormatterRequireNode(
@@ -510,6 +535,7 @@
 				}
 			}
 
+			@Override
 			public Instruction visitArrayNode(ArrayNode visited) {
 				if (visited.getLeftBracketPosition() != null
 						&& visited.getRightBracketPosition() != null) {
@@ -528,6 +554,7 @@
 				}
 			}
 
+			@Override
 			public Instruction visitHashNode(HashNode visited) {
 				if (visited.getLeftBrace() != null
 						&& visited.getRightBrace() != null) {
@@ -556,15 +583,15 @@
 			}
 
 			private void visitChildren(Node visited) {
-				final List children = visited.childNodes();
+				final List<Node> children = visited.childNodes();
 				if (!children.isEmpty()) {
 					visitChildren(children);
 				}
 			}
 
-			private void visitChildren(List children) {
-				for (Iterator i = children.iterator(); i.hasNext();) {
-					final Node child = (Node) i.next();
+			private void visitChildren(List<Node> children) {
+				for (Iterator<Node> i = children.iterator(); i.hasNext();) {
+					final Node child = i.next();
 					visitChild(child);
 				}
 			}
@@ -609,11 +636,10 @@
 				- position.getStartOffset());
 	}
 
-	protected static final Comparator POSITION_COMPARATOR = new Comparator() {
+	protected static final Comparator<Node> POSITION_COMPARATOR = new Comparator<Node>() {
 
-		public int compare(Object o1, Object o2) {
-			final Node node1 = (Node) o1;
-			final Node node2 = (Node) o2;
+		@Override
+		public int compare(Node node1, Node node2) {
 			return node1.getStartOffset() - node2.getStartOffset();
 		}
 
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterNodeRewriter.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterNodeRewriter.java
index 4665a2c..beb7e2c 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterNodeRewriter.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterNodeRewriter.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.internal;
 
 import java.util.ArrayList;
@@ -5,6 +15,7 @@
 import java.util.List;
 
 import org.eclipse.dltk.formatter.FormatterNodeRewriter;
+import org.eclipse.dltk.formatter.FormatterTextNode;
 import org.eclipse.dltk.formatter.FormatterUtils;
 import org.eclipse.dltk.formatter.IFormatterCommentableNode;
 import org.eclipse.dltk.formatter.IFormatterContainerNode;
@@ -17,8 +28,8 @@
 public class RubyFormatterNodeRewriter extends FormatterNodeRewriter {
 
 	public RubyFormatterNodeRewriter(RubyParserResult result) {
-		for (Iterator i = result.getCommentNodes().iterator(); i.hasNext();) {
-			CommentNode commentNode = (CommentNode) i.next();
+		for (Iterator<CommentNode> i = result.getCommentNodes().iterator(); i.hasNext();) {
+			CommentNode commentNode = i.next();
 			if (!commentNode.isBlock()) {
 				addComment(commentNode.getStartOffset(), commentNode
 						.getEndOffset(), commentNode);
@@ -33,17 +44,17 @@
 	}
 
 	private void attachComments(IFormatterContainerNode root) {
-		final List commentNodes = new ArrayList();
-		final List comments = new ArrayList();
-		final List body = root.getBody();
-		for (Iterator i = body.iterator(); i.hasNext();) {
-			IFormatterNode node = (IFormatterNode) i.next();
+		final List<FormatterTextNode> commentNodes = new ArrayList<FormatterTextNode>();
+		final List<FormatterTextNode> comments = new ArrayList<FormatterTextNode>();
+		final List<IFormatterNode> body = root.getBody();
+		for (Iterator<IFormatterNode> i = body.iterator(); i.hasNext();) {
+			IFormatterNode node = i.next();
 			if (node instanceof FormatterCommentNode) {
-				comments.add(node);
+				comments.add((FormatterCommentNode) node);
 			} else if (FormatterUtils.isNewLine(node)
 					&& !comments.isEmpty()
 					&& comments.get(comments.size() - 1) instanceof FormatterCommentNode) {
-				comments.add(node);
+				comments.add((FormatterTextNode) node);
 			} else if (!comments.isEmpty()) {
 				if (node instanceof IFormatterCommentableNode) {
 					((IFormatterCommentableNode) node).insertBefore(comments);
@@ -53,14 +64,15 @@
 			}
 		}
 		body.removeAll(commentNodes);
-		for (Iterator i = body.iterator(); i.hasNext();) {
-			final IFormatterNode node = (IFormatterNode) i.next();
+		for (Iterator<IFormatterNode> i = body.iterator(); i.hasNext();) {
+			final IFormatterNode node = i.next();
 			if (node instanceof IFormatterContainerNode) {
 				attachComments((IFormatterContainerNode) node);
 			}
 		}
 	}
 
+	@Override
 	protected IFormatterNode createCommentNode(IFormatterDocument document,
 			int startOffset, int endOffset, Object object) {
 		return new FormatterCommentNode(document, startOffset, endOffset);
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterPlugin.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterPlugin.java
index 6c10827..10d64dd 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterPlugin.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterPlugin.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.internal;
 
 import org.eclipse.core.runtime.IStatus;
@@ -22,11 +32,13 @@
 	public RubyFormatterPlugin() {
 	}
 
+	@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);
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterPreferenceInitializer.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterPreferenceInitializer.java
index 026f054..0488a76 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterPreferenceInitializer.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/RubyFormatterPreferenceInitializer.java
@@ -1,11 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
+ * Copyright (c) 2000, 2016 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
  *
- 
  *******************************************************************************/
 package org.eclipse.dltk.ruby.formatter.internal;
 
@@ -16,6 +15,7 @@
 public class RubyFormatterPreferenceInitializer extends
 		AbstractPreferenceInitializer {
 
+	@Override
 	public void initializeDefaultPreferences() {
 		IPreferenceStore store = RubyFormatterPlugin.getDefault()
 				.getPreferenceStore();
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterBlockWithBeginEndNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterBlockWithBeginEndNode.java
index 27e02bf..4a8c32b 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterBlockWithBeginEndNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterBlockWithBeginEndNode.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
@@ -32,15 +32,16 @@
 		super(document);
 	}
 
-	private List begin = null;
+	private List<IFormatterNode> begin = null;
 	private IFormatterTextNode end;
 
+	@Override
 	public void accept(IFormatterContext context, IFormatterWriter visitor)
 			throws Exception {
 		context.setBlankLines(getBlankLinesBefore(context));
 		if (begin != null) {
-			for (Iterator i = begin.iterator(); i.hasNext();) {
-				((IFormatterNode) i.next()).accept(context, visitor);
+			for (Iterator<IFormatterNode> i = begin.iterator(); i.hasNext();) {
+				i.next().accept(context, visitor);
 			}
 		}
 		context.resetBlankLines();
@@ -80,14 +81,14 @@
 	 */
 	public void setBegin(IFormatterTextNode begin) {
 		if (this.begin == null) {
-			this.begin = new ArrayList();
+			this.begin = new ArrayList<IFormatterNode>();
 		}
 		this.begin.add(begin);
 	}
 
-	public void insertBefore(List nodes) {
+	public void insertBefore(List<? extends IFormatterNode> nodes) {
 		if (this.begin == null) {
-			this.begin = new ArrayList();
+			this.begin = new ArrayList<IFormatterNode>();
 		}
 		this.begin.addAll(0, nodes);
 	}
@@ -106,10 +107,7 @@
 		this.end = node;
 	}
 
-	/*
-	 * @see
-	 * org.eclipse.dltk.ruby.formatter.node.FormatterBlockNode#getStartOffset()
-	 */
+	@Override
 	public int getStartOffset() {
 		if (begin != null) {
 			return ((IFormatterTextNode) begin.get(0)).getStartOffset();
@@ -117,10 +115,7 @@
 		return super.getStartOffset();
 	}
 
-	/*
-	 * @see
-	 * org.eclipse.dltk.ruby.formatter.node.FormatterBlockNode#getEndOffset()
-	 */
+	@Override
 	public int getEndOffset() {
 		if (end != null) {
 			return end.getEndOffset();
@@ -135,21 +130,17 @@
 		return DEFAULT_OFFSET;
 	}
 
-	/*
-	 * @see org.eclipse.dltk.ruby.formatter.node.FormatterBlockNode#isEmpty()
-	 */
+	@Override
 	public boolean isEmpty() {
 		return begin == null && end == null && super.isEmpty();
 	}
 
-	/*
-	 * @see org.eclipse.dltk.formatter.nodes.FormatterBlockNode#getChildren()
-	 */
-	public List getChildren() {
+	@Override
+	public List<IFormatterNode> getChildren() {
 		if (begin == null && end == null) {
 			return super.getChildren();
 		} else {
-			List result = new ArrayList();
+			List<IFormatterNode> result = new ArrayList<IFormatterNode>();
 			if (begin != null) {
 				result.addAll(begin);
 			}
@@ -161,9 +152,7 @@
 		}
 	}
 
-	/*
-	 * @see org.eclipse.dltk.ruby.formatter.node.FormatterBlockNode#toString()
-	 */
+	@Override
 	public String toString() {
 		return begin + "\n" + super.toString() + "\n" + end; //$NON-NLS-1$ //$NON-NLS-2$
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterBlockWithBeginNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterBlockWithBeginNode.java
index db74651..17f0877 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterBlockWithBeginNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterBlockWithBeginNode.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
@@ -17,6 +17,7 @@
 import org.eclipse.dltk.formatter.FormatterBlockNode;
 import org.eclipse.dltk.formatter.IFormatterContext;
 import org.eclipse.dltk.formatter.IFormatterDocument;
+import org.eclipse.dltk.formatter.IFormatterNode;
 import org.eclipse.dltk.formatter.IFormatterTextNode;
 import org.eclipse.dltk.formatter.IFormatterWriter;
 
@@ -31,6 +32,7 @@
 
 	private IFormatterTextNode begin;
 
+	@Override
 	public void accept(IFormatterContext context, IFormatterWriter visitor)
 			throws Exception {
 		if (begin != null) {
@@ -63,10 +65,7 @@
 		this.begin = begin;
 	}
 
-	/*
-	 * @see
-	 * org.eclipse.dltk.ruby.formatter.node.FormatterBlockNode#getStartOffset()
-	 */
+	@Override
 	public int getStartOffset() {
 		if (begin != null) {
 			return begin.getStartOffset();
@@ -74,10 +73,7 @@
 		return super.getStartOffset();
 	}
 
-	/*
-	 * @see
-	 * org.eclipse.dltk.ruby.formatter.node.FormatterBlockNode#getEndOffset()
-	 */
+	@Override
 	public int getEndOffset() {
 		if (!super.isEmpty()) {
 			return super.getEndOffset();
@@ -88,21 +84,17 @@
 		return DEFAULT_OFFSET;
 	}
 
-	/*
-	 * @see org.eclipse.dltk.ruby.formatter.node.FormatterBlockNode#isEmpty()
-	 */
+	@Override
 	public boolean isEmpty() {
 		return begin == null && super.isEmpty();
 	}
 
-	/*
-	 * @see org.eclipse.dltk.formatter.nodes.FormatterBlockNode#getChildren()
-	 */
-	public List getChildren() {
+	@Override
+	public List<IFormatterNode> getChildren() {
 		if (begin == null) {
 			return super.getChildren();
 		} else {
-			List result = new ArrayList();
+			List<IFormatterNode> result = new ArrayList<IFormatterNode>();
 			if (begin != null) {
 				result.add(begin);
 			}
@@ -111,9 +103,7 @@
 		}
 	}
 
-	/*
-	 * @see org.eclipse.dltk.ruby.formatter.node.FormatterBlockNode#toString()
-	 */
+	@Override
 	public String toString() {
 		return begin + "\n" + super.toString(); //$NON-NLS-1$
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterCaseNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterCaseNode.java
index 13f134e..f4e735a 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterCaseNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterCaseNode.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
@@ -23,6 +23,7 @@
 		super(document);
 	}
 
+	@Override
 	protected boolean isIndenting() {
 		return getDocument().getBoolean(RubyFormatterConstants.INDENT_CASE);
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterClassNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterClassNode.java
index 0bdb839..fb10742 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterClassNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterClassNode.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
@@ -26,10 +26,12 @@
 		super(document);
 	}
 
+	@Override
 	protected boolean isIndenting() {
 		return getDocument().getBoolean(RubyFormatterConstants.INDENT_CLASS);
 	}
 
+	@Override
 	protected int getBlankLinesBefore(IFormatterContext context) {
 		if (context.getParent() == null) {
 			return getInt(RubyFormatterConstants.LINES_FILE_BETWEEN_CLASS);
@@ -40,6 +42,7 @@
 		}
 	}
 
+	@Override
 	protected int getBlankLinesAfter(IFormatterContext context) {
 		if (context.getParent() == null) {
 			return getInt(RubyFormatterConstants.LINES_FILE_BETWEEN_CLASS);
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterCommentNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterCommentNode.java
index 96c96fe..0098c4e 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterCommentNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterCommentNode.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * 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
+ * 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.internal.nodes;
 
 import org.eclipse.dltk.formatter.FormatterTextNode;
@@ -13,6 +23,7 @@
 		super(document, startOffset, endOffset);
 	}
 
+	@Override
 	public void accept(IFormatterContext context, IFormatterWriter visitor)
 			throws Exception {
 		final boolean savedWrapping = context.isWrapping();
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterDoNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterDoNode.java
index 1d7afae..47f0903 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterDoNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterDoNode.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
@@ -23,6 +23,7 @@
 		super(document);
 	}
 
+	@Override
 	protected boolean isIndenting() {
 		return getDocument().getBoolean(RubyFormatterConstants.INDENT_BLOCKS);
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterElseIfNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterElseIfNode.java
index f832d09..ef9c019 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterElseIfNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterElseIfNode.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
@@ -23,6 +23,7 @@
 		super(document);
 	}
 
+	@Override
 	protected boolean isIndenting() {
 		return getDocument().getBoolean(RubyFormatterConstants.INDENT_IF);
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterEnsureNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterEnsureNode.java
index e8656db..bd58ffc 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterEnsureNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterEnsureNode.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,6 +25,7 @@
 		super(document);
 	}
 
+	@Override
 	public void accept(IFormatterContext context, IFormatterWriter visitor)
 			throws Exception {
 		if (getBegin() != null) {
@@ -41,6 +42,7 @@
 		acceptBody(context, visitor);
 	}
 
+	@Override
 	protected boolean isIndenting() {
 		return getDocument().getBoolean(RubyFormatterConstants.INDENT_BLOCKS);
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterForNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterForNode.java
index 0180463..59d12d8 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterForNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterForNode.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
@@ -23,6 +23,7 @@
 		super(document);
 	}
 
+	@Override
 	protected boolean isIndenting() {
 		return getDocument().getBoolean(RubyFormatterConstants.INDENT_BLOCKS);
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterHereDocNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterHereDocNode.java
index b040136..e60223c 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterHereDocNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterHereDocNode.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
@@ -16,8 +16,8 @@
 import org.eclipse.dltk.formatter.IFormatterCallback;
 import org.eclipse.dltk.formatter.IFormatterContext;
 import org.eclipse.dltk.formatter.IFormatterDocument;
-import org.eclipse.dltk.formatter.IFormatterWriter;
 import org.eclipse.dltk.formatter.IFormatterRawWriter;
+import org.eclipse.dltk.formatter.IFormatterWriter;
 import org.eclipse.jface.text.IRegion;
 
 public class FormatterHereDocNode extends FormatterTextNode implements
@@ -68,6 +68,7 @@
 		this.endMarkerRegion = endMarkerRegion;
 	}
 
+	@Override
 	public void accept(IFormatterContext context, IFormatterWriter visitor)
 			throws Exception {
 		IFormatterContext heredocContext = context.copy();
@@ -82,6 +83,7 @@
 		visitor.addNewLineCallback(this);
 	}
 
+	@Override
 	public void call(IFormatterContext context, IFormatterRawWriter writer) {
 		final IFormatterDocument doc = getDocument();
 		if (contentRegion != null && contentRegion.getLength() > 0) {
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterIfElseNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterIfElseNode.java
index 292d765..cbfd491 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterIfElseNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterIfElseNode.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
@@ -23,6 +23,7 @@
 		super(document);
 	}
 
+	@Override
 	protected boolean isIndenting() {
 		return getDocument().getBoolean(RubyFormatterConstants.INDENT_IF);
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterIfNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterIfNode.java
index e33bee8..e4faae2 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterIfNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterIfNode.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
@@ -23,6 +23,7 @@
 		super(document);
 	}
 
+	@Override
 	protected boolean isIndenting() {
 		return getDocument().getBoolean(RubyFormatterConstants.INDENT_IF);
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterMethodNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterMethodNode.java
index ca5e70c..6ac5c2d 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterMethodNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterMethodNode.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
@@ -26,10 +26,12 @@
 		super(document);
 	}
 
+	@Override
 	protected boolean isIndenting() {
 		return getDocument().getBoolean(RubyFormatterConstants.INDENT_METHOD);
 	}
 
+	@Override
 	protected int getBlankLinesBefore(IFormatterContext context) {
 		if (context.getParent() == null) {
 			return getInt(RubyFormatterConstants.LINES_FILE_BETWEEN_METHOD);
@@ -40,6 +42,7 @@
 		}
 	}
 
+	@Override
 	protected int getBlankLinesAfter(IFormatterContext context) {
 		if (context.getParent() == null) {
 			return getInt(RubyFormatterConstants.LINES_FILE_BETWEEN_METHOD);
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterModifierNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterModifierNode.java
index aa9845c..796e38c 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterModifierNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterModifierNode.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
@@ -26,6 +26,7 @@
 		super(document);
 	}
 
+	@Override
 	public void accept(IFormatterContext context, IFormatterWriter visitor)
 			throws Exception {
 		final boolean indenting = isIndenting();
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterModuleNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterModuleNode.java
index 08e2d6a..2b76e8d 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterModuleNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterModuleNode.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
@@ -26,10 +26,12 @@
 		super(document);
 	}
 
+	@Override
 	protected boolean isIndenting() {
 		return getDocument().getBoolean(RubyFormatterConstants.INDENT_MODULE);
 	}
 
+	@Override
 	protected int getBlankLinesBefore(IFormatterContext context) {
 		if (context.getParent() == null) {
 			return getInt(RubyFormatterConstants.LINES_FILE_BETWEEN_MODULE);
@@ -40,6 +42,7 @@
 		}
 	}
 
+	@Override
 	protected int getBlankLinesAfter(IFormatterContext context) {
 		if (context.getParent() == null) {
 			return getInt(RubyFormatterConstants.LINES_FILE_BETWEEN_MODULE);
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterRDocNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterRDocNode.java
index fe66517..d4b217d 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterRDocNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterRDocNode.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * 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
+ * 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.internal.nodes;
 
 import org.eclipse.dltk.formatter.FormatterTextNode;
@@ -12,6 +22,7 @@
 		super(document, startOffset, endOffset);
 	}
 
+	@Override
 	public void accept(IFormatterContext context, IFormatterWriter visitor)
 			throws Exception {
 		IFormatterContext commentContext = context.copy();
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterRescueElseNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterRescueElseNode.java
index a87d51b..0dc00f2 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterRescueElseNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterRescueElseNode.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,6 +25,7 @@
 		super(document);
 	}
 
+	@Override
 	public void accept(IFormatterContext context, IFormatterWriter visitor)
 			throws Exception {
 		if (getBegin() != null) {
@@ -41,6 +42,7 @@
 		acceptBody(context, visitor);
 	}
 
+	@Override
 	protected boolean isIndenting() {
 		return getDocument().getBoolean(RubyFormatterConstants.INDENT_BLOCKS);
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterRescueNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterRescueNode.java
index e608b79..cac708a 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterRescueNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterRescueNode.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,6 +25,7 @@
 		super(document);
 	}
 
+	@Override
 	public void accept(IFormatterContext context, IFormatterWriter visitor)
 			throws Exception {
 		if (getBegin() != null) {
@@ -41,6 +42,7 @@
 		acceptBody(context, visitor);
 	}
 
+	@Override
 	protected boolean isIndenting() {
 		return getDocument().getBoolean(RubyFormatterConstants.INDENT_BLOCKS);
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterRootNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterRootNode.java
index 7750d85..3cb3cf2 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterRootNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterRootNode.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
@@ -32,11 +32,12 @@
 		super(document);
 	}
 
-	protected void acceptNodes(final List nodes, IFormatterContext context,
+	@Override
+	protected void acceptNodes(final List<IFormatterNode> nodes, IFormatterContext context,
 			IFormatterWriter visitor) throws Exception {
 		boolean wasRequire = false;
-		for (Iterator i = nodes.iterator(); i.hasNext();) {
-			IFormatterNode node = (IFormatterNode) i.next();
+		for (Iterator<IFormatterNode> i = nodes.iterator(); i.hasNext();) {
+			IFormatterNode node = i.next();
 			context.enter(node);
 			if (node instanceof FormatterRequireNode) {
 				if (wasRequire) {
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterStringNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterStringNode.java
index 30552cc..51f3572 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterStringNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterStringNode.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
@@ -28,6 +28,7 @@
 		super(document, startOffset, endOffset);
 	}
 
+	@Override
 	public void accept(IFormatterContext context, IFormatterWriter visitor)
 			throws Exception {
 		visitor.ensureLineStarted(context);
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterUntilNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterUntilNode.java
index ab12f5e..2949c1b 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterUntilNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterUntilNode.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
@@ -23,6 +23,7 @@
 		super(document);
 	}
 
+	@Override
 	protected boolean isIndenting() {
 		return getDocument().getBoolean(RubyFormatterConstants.INDENT_BLOCKS);
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterWhenElseNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterWhenElseNode.java
index fd85519..598f668 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterWhenElseNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterWhenElseNode.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
@@ -23,6 +23,7 @@
 		super(document);
 	}
 
+	@Override
 	protected boolean isIndenting() {
 		return getDocument().getBoolean(RubyFormatterConstants.INDENT_WHEN);
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterWhenNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterWhenNode.java
index a52cd66..83c755c 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterWhenNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterWhenNode.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
@@ -23,6 +23,7 @@
 		super(document);
 	}
 
+	@Override
 	protected boolean isIndenting() {
 		return getDocument().getBoolean(RubyFormatterConstants.INDENT_WHEN);
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterWhileNode.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterWhileNode.java
index d1f060e..08c95d5 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterWhileNode.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/internal/nodes/FormatterWhileNode.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
@@ -23,6 +23,7 @@
 		super(document);
 	}
 
+	@Override
 	protected boolean isIndenting() {
 		return getDocument().getBoolean(RubyFormatterConstants.INDENT_BLOCKS);
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/preferences/RubyFormatterBlankLinesPage.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/preferences/RubyFormatterBlankLinesPage.java
index 6f74fba..f3c136b 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/preferences/RubyFormatterBlankLinesPage.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/preferences/RubyFormatterBlankLinesPage.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
@@ -31,6 +31,7 @@
 		super(dialog);
 	}
 
+	@Override
 	protected void createOptions(IFormatterControlManager manager,
 			Composite parent) {
 		Group emptyLinesGroup = SWTFactory.createGroup(parent,
@@ -71,6 +72,7 @@
 				Messages.RubyFormatterBlankLinesPage_numberOfEmptyLinesToPreserve);
 	}
 
+	@Override
 	protected URL getPreviewContent() {
 		return getClass().getResource("blank-lines-preview.rb"); //$NON-NLS-1$
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/preferences/RubyFormatterCommentsPage.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/preferences/RubyFormatterCommentsPage.java
index a34c247..a567081 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/preferences/RubyFormatterCommentsPage.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/preferences/RubyFormatterCommentsPage.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
@@ -31,6 +31,7 @@
 		super(dialog);
 	}
 
+	@Override
 	protected void createOptions(IFormatterControlManager manager,
 			Composite parent) {
 		Group commentWrappingGroup = SWTFactory.createGroup(parent,
@@ -43,6 +44,7 @@
 				Messages.RubyFormatterCommentsPage_maximumLineWidthForComments);
 	}
 
+	@Override
 	protected URL getPreviewContent() {
 		return getClass().getResource("wrapping-preview.rb"); //$NON-NLS-1$
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/preferences/RubyFormatterIndentationTabPage.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/preferences/RubyFormatterIndentationTabPage.java
index 9558040..2b24224 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/preferences/RubyFormatterIndentationTabPage.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/preferences/RubyFormatterIndentationTabPage.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
@@ -32,6 +32,7 @@
 		super(dialog);
 	}
 
+	@Override
 	protected void createOptions(final IFormatterControlManager manager,
 			Composite parent) {
 		new FormatterIndentationGroup(manager, parent);
@@ -81,6 +82,7 @@
 						Messages.RubyFormatterIndentationTabPage_StatementsWithinWhenBody);
 	}
 
+	@Override
 	protected URL getPreviewContent() {
 		return getClass().getResource("indentation-preview.rb"); //$NON-NLS-1$
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/preferences/RubyFormatterModifyDialog.java b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/preferences/RubyFormatterModifyDialog.java
index ebd76df..29d53d2 100644
--- a/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/preferences/RubyFormatterModifyDialog.java
+++ b/plugins/org.eclipse.dltk.ruby.formatter/src/org/eclipse/dltk/ruby/formatter/preferences/RubyFormatterModifyDialog.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,6 +25,7 @@
 		super(dialogOwner, formatterFactory);
 	}
 
+	@Override
 	protected void addPages() {
 		addTabPage(Messages.RubyFormatterModifyDialog_indentation,
 				new RubyFormatterIndentationTabPage(this));