You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2018/12/28 04:04:11 UTC

[groovy] branch GROOVY_2_5_X updated: cleanup/remove @author tags as per Apache recommended practices for groovy-nio, groovy-swing, groovy-templates

This is an automated email from the ASF dual-hosted git repository.

paulk pushed a commit to branch GROOVY_2_5_X
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/GROOVY_2_5_X by this push:
     new c9f6612  cleanup/remove @author tags as per Apache recommended practices for groovy-nio, groovy-swing, groovy-templates
c9f6612 is described below

commit c9f661248ad9b8c50185ae99e302a8ce565e963b
Author: Paul King <pa...@asert.com.au>
AuthorDate: Fri Dec 28 13:38:26 2018 +1000

    cleanup/remove @author tags as per Apache recommended practices for groovy-nio, groovy-swing, groovy-templates
---
 gradle/pomconfigurer.gradle                        |   9 ++
 .../codehaus/groovy/runtime/NioGroovyMethods.java  | 175 +++++++++------------
 .../org/codehaus/groovy/runtime/WritablePath.java  |   3 -
 .../groovy/runtime/NioGroovyMethodsTest.groovy     |   3 -
 .../swing/binding/AbstractButtonProperties.java    |   1 -
 .../swing/binding/JComboBoxMetaMethods.groovy      |  37 ++---
 .../groovy/swing/binding/JComboBoxProperties.java  |   1 -
 .../groovy/swing/binding/JComponentProperties.java |   1 -
 .../groovy/swing/binding/JListMetaMethods.groovy   |  48 +++---
 .../groovy/swing/binding/JListProperties.groovy    | 119 +++++++-------
 .../groovy/swing/binding/JScrollBarProperties.java |   1 -
 .../groovy/swing/binding/JSliderProperties.java    |   1 -
 .../groovy/swing/binding/JSpinnerProperties.java   |   1 -
 .../swing/binding/JTextComponentProperties.java    |   1 -
 .../groovy/swing/factory/ActionFactory.groovy      |  20 +--
 .../groovy/groovy/swing/factory/BeanFactory.groovy |   9 +-
 .../groovy/groovy/swing/factory/BindFactory.groovy |  45 +++---
 .../groovy/swing/factory/BindProxyFactory.groovy   |   9 +-
 .../groovy/swing/factory/CellEditorFactory.groovy  |  25 ++-
 .../groovy/swing/factory/ColumnFactory.groovy      |  36 ++---
 .../groovy/swing/factory/ColumnModelFactory.groovy |  11 +-
 .../groovy/groovy/swing/factory/ListFactory.groovy |  13 +-
 .../groovy/swing/factory/RendererFactory.groovy    |  20 +--
 .../swing/factory/RichActionWidgetFactory.groovy   |  52 +++---
 .../swing/factory/TextArgWidgetFactory.groovy      |  22 ++-
 .../groovy/swing/impl/ClosureCellEditor.groovy     |  35 ++---
 .../groovy/groovy/swing/impl/ClosureRenderer.java  |   3 -
 .../groovy/groovy/swing/impl/DefaultAction.java    |   2 -
 .../groovy/swing/impl/ListWrapperListModel.java    |   2 -
 .../main/groovy/groovy/swing/impl/TableLayout.java |   2 -
 .../groovy/groovy/swing/impl/TableLayoutCell.java  |   2 -
 .../groovy/groovy/swing/impl/TableLayoutRow.java   |   2 -
 .../main/java/groovy/inspect/swingui/TableMap.java |   2 -
 .../java/groovy/inspect/swingui/TableSorter.java   |   3 -
 .../src/main/java/groovy/model/ClosureModel.java   |   2 -
 .../main/java/groovy/model/DefaultTableColumn.java |   2 -
 .../main/java/groovy/model/DefaultTableModel.java  |   2 -
 .../src/main/java/groovy/model/FormModel.java      |   2 -
 .../main/java/groovy/model/NestedValueModel.java   |   2 -
 .../src/main/java/groovy/model/PropertyModel.java  |   2 -
 .../src/main/java/groovy/model/ValueHolder.java    |   2 -
 .../src/main/java/groovy/model/ValueModel.java     |   2 -
 .../groovy/binding/AbstractFullBinding.java        |   1 -
 .../codehaus/groovy/binding/AggregateBinding.java  |   2 +-
 .../org/codehaus/groovy/binding/BindingProxy.java  |   1 -
 .../codehaus/groovy/binding/BindingUpdatable.java  |   1 -
 .../groovy/binding/ClosureSourceBinding.java       |   1 -
 .../groovy/binding/EventTriggerBinding.java        |   1 -
 .../org/codehaus/groovy/binding/FullBinding.java   |   1 -
 .../groovy/binding/MutualPropertyBinding.java      |   1 -
 .../codehaus/groovy/binding/PropertyBinding.java   |   2 -
 .../org/codehaus/groovy/binding/SourceBinding.java |   1 -
 .../groovy/binding/SwingTimerTriggerBinding.java   |   2 -
 .../org/codehaus/groovy/binding/TargetBinding.java |   1 -
 .../codehaus/groovy/binding/TriggerBinding.java    |   1 -
 .../groovy/runtime/SwingGroovyMethods.java         |   2 -
 .../groovy/groovy/beans/BindableSwingTest.groovy   |   3 -
 .../groovy/groovy/beans/VetoableSwingTest.groovy   |   3 -
 .../test/groovy/groovy/bugs/Groovy303_Bug.groovy   |   6 +-
 .../groovy/swing/SwingMetaMethodsTest.groovy       |   4 -
 .../org/codehaus/groovy/runtime/DummyBean.java     |   3 -
 .../groovy/groovy/text/SimpleTemplateEngine.java   |   5 -
 .../groovy/text/StreamingTemplateEngine.java       |   3 -
 .../src/main/groovy/groovy/text/Template.java      |   2 -
 .../main/groovy/groovy/text/TemplateEngine.java    |   2 -
 .../main/groovy/groovy/text/XmlTemplateEngine.java |   3 -
 .../groovy/text/markup/AutoNewLineTransformer.java |   2 -
 .../groovy/groovy/text/markup/BaseTemplate.java    |   2 -
 .../groovy/text/markup/DelegatingIndentWriter.java |   5 +-
 .../groovy/groovy/text/markup/IncludeType.java     |   5 +-
 .../text/markup/MarkupBuilderCodeTransformer.java  |   2 -
 .../groovy/text/markup/MarkupTemplateEngine.java   |   2 -
 .../MarkupTemplateTypeCheckingExtension.groovy     |   2 -
 .../groovy/groovy/text/markup/TagLibAdapter.groovy |   2 -
 .../groovy/text/markup/TemplateASTTransformer.java |   2 -
 .../groovy/text/markup/TemplateConfiguration.java  |   2 -
 .../groovy/text/markup/TemplateResolver.java       |   2 -
 .../groovy/SimpleGStringTemplateEngineTest.groovy  |  50 +++---
 .../groovy/groovy/SimpleTemplateEngineTest.groovy  |   3 -
 .../src/test/java/groovy/text/TemplateTest.java    |   3 -
 80 files changed, 337 insertions(+), 531 deletions(-)

diff --git a/gradle/pomconfigurer.gradle b/gradle/pomconfigurer.gradle
index f7882fd..d98454a 100644
--- a/gradle/pomconfigurer.gradle
+++ b/gradle/pomconfigurer.gradle
@@ -495,6 +495,15 @@ project.ext.pomConfigureClosureWithoutTweaks = {
                 name 'Stefan Matthias Aust'
             }
             contributor {
+                name 'Andy Dwelly'
+            }
+            contributor {
+                name 'Philip Milne'
+            }
+            contributor {
+                name 'Joachim Baumann'
+            }
+            contributor {
                 name 'Jochen Eddel+'
             }
             contributor {
diff --git a/subprojects/groovy-nio/src/main/java/org/codehaus/groovy/runtime/NioGroovyMethods.java b/subprojects/groovy-nio/src/main/java/org/codehaus/groovy/runtime/NioGroovyMethods.java
index 58ad3f0..e5234e9 100644
--- a/subprojects/groovy-nio/src/main/java/org/codehaus/groovy/runtime/NioGroovyMethods.java
+++ b/subprojects/groovy-nio/src/main/java/org/codehaus/groovy/runtime/NioGroovyMethods.java
@@ -79,34 +79,6 @@ import static org.codehaus.groovy.runtime.DefaultGroovyMethods.get;
  * at the Java method call level. I.e. future versions of Groovy may
  * remove or move a method call in this file but would normally
  * aim to keep the method available from within Groovy.
- *
- * @author <a href="mailto:james@coredevelopers.net">James Strachan</a>
- * @author Jeremy Rayner
- * @author Sam Pullara
- * @author Rod Cope
- * @author Guillaume Laforge
- * @author John Wilson
- * @author Hein Meling
- * @author Dierk Koenig
- * @author Pilho Kim
- * @author Marc Guillemot
- * @author Russel Winder
- * @author bing ran
- * @author Jochen Theodorou
- * @author Paul King
- * @author Michael Baehr
- * @author Joachim Baumann
- * @author Alex Tkachman
- * @author Ted Naleid
- * @author Brad Long
- * @author Jim Jagielski
- * @author Rodolfo Velasco
- * @author jeremi Joslin
- * @author Hamlet D'Arcy
- * @author Cedric Champeau
- * @author Tim Yates
- * @author Dinko Srkoc
- * @author Paolo Di Tommaso <pa...@gmail.com>
  */
 
 public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
@@ -165,7 +137,7 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
     /**
      * Create an object input stream for this path using the given class loader.
      *
-     * @param self a {@code Path} object
+     * @param self        a {@code Path} object
      * @param classLoader the class loader to use when loading the class
      * @return an object input stream
      * @throws java.io.IOException if an IOException occurs.
@@ -178,9 +150,9 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
     /**
      * Iterates through the given file object by object.
      *
-     * @param self a {@code Path} object
+     * @param self    a {@code Path} object
      * @param closure a closure
-     * @throws java.io.IOException if an IOException occurs.
+     * @throws java.io.IOException    if an IOException occurs.
      * @throws ClassNotFoundException if the class  is not found.
      * @see org.codehaus.groovy.runtime.IOGroovyMethods#eachObject(java.io.ObjectInputStream, groovy.lang.Closure)
      * @since 2.3.0
@@ -299,13 +271,12 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * @param regex   the delimiting regular expression
      * @param closure a closure
      * @return the last value returned by the closure
-     * @throws java.io.IOException if an IOException occurs.
-     * @throws java.util.regex.PatternSyntaxException
-     *                     if the regular expression's syntax is invalid
+     * @throws java.io.IOException                    if an IOException occurs.
+     * @throws java.util.regex.PatternSyntaxException if the regular expression's syntax is invalid
      * @see org.codehaus.groovy.runtime.IOGroovyMethods#splitEachLine(java.io.Reader, String, groovy.lang.Closure)
      * @since 2.3.0
      */
-    public static <T> T splitEachLine(Path self, String regex, @ClosureParams(value=FromString.class,options={"List<String>","String[]"},conflictResolutionStrategy=PickFirstResolver.class) Closure<T> closure) throws IOException {
+    public static <T> T splitEachLine(Path self, String regex, @ClosureParams(value = FromString.class, options = {"List<String>", "String[]"}, conflictResolutionStrategy = PickFirstResolver.class) Closure<T> closure) throws IOException {
         return IOGroovyMethods.splitEachLine(newReader(self), regex, closure);
     }
 
@@ -324,7 +295,7 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * @see org.codehaus.groovy.runtime.IOGroovyMethods#splitEachLine(java.io.Reader, java.util.regex.Pattern, groovy.lang.Closure)
      * @since 2.3.0
      */
-    public static <T> T splitEachLine(Path self, Pattern pattern, @ClosureParams(value=FromString.class,options={"List<String>","String[]"},conflictResolutionStrategy=PickFirstResolver.class) Closure<T> closure) throws IOException {
+    public static <T> T splitEachLine(Path self, Pattern pattern, @ClosureParams(value = FromString.class, options = {"List<String>", "String[]"}, conflictResolutionStrategy = PickFirstResolver.class) Closure<T> closure) throws IOException {
         return IOGroovyMethods.splitEachLine(newReader(self), pattern, closure);
     }
 
@@ -340,13 +311,12 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * @param charset opens the file with a specified charset
      * @param closure a closure
      * @return the last value returned by the closure
-     * @throws java.io.IOException if an IOException occurs.
-     * @throws java.util.regex.PatternSyntaxException
-     *                     if the regular expression's syntax is invalid
+     * @throws java.io.IOException                    if an IOException occurs.
+     * @throws java.util.regex.PatternSyntaxException if the regular expression's syntax is invalid
      * @see org.codehaus.groovy.runtime.IOGroovyMethods#splitEachLine(java.io.Reader, String, groovy.lang.Closure)
      * @since 2.3.0
      */
-    public static <T> T splitEachLine(Path self, String regex, String charset, @ClosureParams(value=FromString.class,options={"List<String>","String[]"},conflictResolutionStrategy=PickFirstResolver.class) Closure<T> closure) throws IOException {
+    public static <T> T splitEachLine(Path self, String regex, String charset, @ClosureParams(value = FromString.class, options = {"List<String>", "String[]"}, conflictResolutionStrategy = PickFirstResolver.class) Closure<T> closure) throws IOException {
         return IOGroovyMethods.splitEachLine(newReader(self, charset), regex, closure);
     }
 
@@ -366,7 +336,7 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * @see org.codehaus.groovy.runtime.IOGroovyMethods#splitEachLine(java.io.Reader, java.util.regex.Pattern, groovy.lang.Closure)
      * @since 2.3.0
      */
-    public static <T> T splitEachLine(Path self, Pattern pattern, String charset, @ClosureParams(value=FromString.class,options={"List<String>","String[]"},conflictResolutionStrategy=PickFirstResolver.class) Closure<T> closure) throws IOException {
+    public static <T> T splitEachLine(Path self, Pattern pattern, String charset, @ClosureParams(value = FromString.class, options = {"List<String>", "String[]"}, conflictResolutionStrategy = PickFirstResolver.class) Closure<T> closure) throws IOException {
         return IOGroovyMethods.splitEachLine(newReader(self, charset), pattern, closure);
     }
 
@@ -613,7 +583,7 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * Append the text supplied by the Writer at the end of the File without
      * writing a BOM.
      *
-     * @param file a Path
+     * @param file   a Path
      * @param reader the Reader supplying the text to append at the end of the File
      * @throws IOException if an IOException occurs.
      * @since 2.3.0
@@ -625,7 +595,7 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
     /**
      * Append the text supplied by the Writer at the end of the File without writing a BOM.
      *
-     * @param file a File
+     * @param file   a File
      * @param writer the Writer supplying the text to append at the end of the File
      * @throws IOException if an IOException occurs.
      * @since 2.3.0
@@ -682,8 +652,8 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * <code>writeBom</code> is <code>true</code>, the requisite byte order
      * mark is written to the file before the text.
      *
-     * @param self    a Path
-     * @param text    the text to append at the end of the Path
+     * @param self     a Path
+     * @param text     the text to append at the end of the Path
      * @param writeBom whether to write the BOM
      * @throws java.io.IOException if an IOException occurs.
      * @since 2.5.0
@@ -748,8 +718,8 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * exist, the requisite byte order mark is written to the file before the
      * text is appended.
      *
-     * @param file a File
-     * @param writer the Writer supplying the text to append at the end of the File
+     * @param file     a File
+     * @param writer   the Writer supplying the text to append at the end of the File
      * @param writeBom whether to write the BOM
      * @throws IOException if an IOException occurs.
      * @since 2.5.0
@@ -762,8 +732,8 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * Append the text supplied by the Writer at the end of the File without writing a BOM,
      * using a specified encoding.
      *
-     * @param file a File
-     * @param writer the Writer supplying the text to append at the end of the File
+     * @param file    a File
+     * @param writer  the Writer supplying the text to append at the end of the File
      * @param charset the charset used
      * @throws IOException if an IOException occurs.
      * @since 2.3.0
@@ -779,9 +749,9 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * exist, the requisite byte order mark is written to the file before the
      * text is appended.
      *
-     * @param file a File
-     * @param writer the Writer supplying the text to append at the end of the File
-     * @param charset the charset used
+     * @param file     a File
+     * @param writer   the Writer supplying the text to append at the end of the File
+     * @param charset  the charset used
      * @param writeBom whether to write the BOM
      * @throws IOException if an IOException occurs.
      * @since 2.5.0
@@ -797,8 +767,8 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * exist, the requisite byte order mark is written to the file before the
      * text is appended.
      *
-     * @param file a File
-     * @param reader the Reader supplying the text to append at the end of the File
+     * @param file     a File
+     * @param reader   the Reader supplying the text to append at the end of the File
      * @param writeBom whether to write the BOM
      * @throws IOException if an IOException occurs.
      * @since 2.5.0
@@ -811,8 +781,8 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * Append the text supplied by the Reader at the end of the File without writing
      * a BOM, using a specified encoding.
      *
-     * @param file a File
-     * @param reader the Reader supplying the text to append at the end of the File
+     * @param file    a File
+     * @param reader  the Reader supplying the text to append at the end of the File
      * @param charset the charset used
      * @throws IOException if an IOException occurs.
      * @since 2.3.0
@@ -828,9 +798,9 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * exist, the requisite byte order mark is written to the file before the
      * text is appended.
      *
-     * @param file a File
-     * @param reader the Reader supplying the text to append at the end of the File
-     * @param charset the charset used
+     * @param file     a File
+     * @param reader   the Reader supplying the text to append at the end of the File
+     * @param charset  the charset used
      * @param writeBom whether to write the BOM
      * @throws IOException if an IOException occurs.
      * @since 2.5.0
@@ -863,8 +833,8 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * are used incorrectly.
      *
      * @param self The directory to check
-     * @throws java.io.FileNotFoundException    if the given directory does not exist
-     * @throws IllegalArgumentException if the provided Path object does not represent a directory
+     * @throws java.io.FileNotFoundException if the given directory does not exist
+     * @throws IllegalArgumentException      if the provided Path object does not represent a directory
      * @since 2.3.0
      */
     private static void checkDir(Path self) throws FileNotFoundException, IllegalArgumentException {
@@ -882,12 +852,12 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * @param self     a Path (that happens to be a folder/directory)
      * @param fileType if normal files or directories or both should be processed
      * @param closure  the closure to invoke
-     * @throws java.io.FileNotFoundException    if the given directory does not exist
-     * @throws IllegalArgumentException if the provided Path object does not represent a directory
+     * @throws java.io.FileNotFoundException if the given directory does not exist
+     * @throws IllegalArgumentException      if the provided Path object does not represent a directory
      * @since 2.3.0
      */
     public static void eachFile(final Path self, final FileType fileType, @ClosureParams(value = SimpleType.class, options = "java.nio.file.Path") final Closure closure) throws IOException {
-            //throws FileNotFoundException, IllegalArgumentException {
+        //throws FileNotFoundException, IllegalArgumentException {
         checkDir(self);
 
         // TODO GroovyDoc doesn't parse this file as our java.g doesn't handle this JDK7 syntax
@@ -908,8 +878,8 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      *
      * @param self    a Path (that happens to be a folder/directory)
      * @param closure a closure (the parameter is the Path for the 'child' file)
-     * @throws java.io.FileNotFoundException    if the given directory does not exist
-     * @throws IllegalArgumentException if the provided Path object does not represent a directory
+     * @throws java.io.FileNotFoundException if the given directory does not exist
+     * @throws IllegalArgumentException      if the provided Path object does not represent a directory
      * @see #eachFile(Path, groovy.io.FileType, groovy.lang.Closure)
      * @since 2.3.0
      */
@@ -923,8 +893,8 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      *
      * @param self    a Path (that happens to be a folder/directory)
      * @param closure a closure (the parameter is the Path for the subdirectory file)
-     * @throws java.io.FileNotFoundException    if the given directory does not exist
-     * @throws IllegalArgumentException if the provided Path object does not represent a directory
+     * @throws java.io.FileNotFoundException if the given directory does not exist
+     * @throws IllegalArgumentException      if the provided Path object does not represent a directory
      * @see #eachFile(Path, groovy.io.FileType, groovy.lang.Closure)
      * @since 2.3.0
      */
@@ -942,12 +912,12 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * @param self     a Path (that happens to be a folder/directory)
      * @param fileType if normal files or directories or both should be processed
      * @param closure  the closure to invoke on each file
-     * @throws java.io.FileNotFoundException    if the given directory does not exist
-     * @throws IllegalArgumentException if the provided Path object does not represent a directory
+     * @throws java.io.FileNotFoundException if the given directory does not exist
+     * @throws IllegalArgumentException      if the provided Path object does not represent a directory
      * @since 2.3.0
      */
     public static void eachFileRecurse(final Path self, final FileType fileType, @ClosureParams(value = SimpleType.class, options = "java.nio.file.Path") final Closure closure) throws IOException { // throws FileNotFoundException, IllegalArgumentException {
-            // throws FileNotFoundException, IllegalArgumentException {
+        // throws FileNotFoundException, IllegalArgumentException {
         checkDir(self);
         try (DirectoryStream<Path> stream = Files.newDirectoryStream(self)) {
             for (Path path : stream) {
@@ -966,7 +936,7 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * Processing consists of potentially calling <code>closure</code> passing it the current
      * file (which may be a normal file or subdirectory) and then if a subdirectory was encountered,
      * recursively processing the subdirectory.
-     *
+     * <p>
      * The traversal can be adapted by providing various options in the <code>options</code> Map according
      * to the following keys:<dl>
      * <dt>type</dt><dd>A {@link groovy.io.FileType} enum to determine if normal files or directories or both are processed</dd>
@@ -1013,8 +983,8 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * @param options a Map of options to alter the traversal behavior
      * @param closure the Closure to invoke on each file/directory and optionally returning a {@link groovy.io.FileVisitResult} value
      *                which can be used to control subsequent processing
-     * @throws java.io.FileNotFoundException    if the given directory does not exist
-     * @throws IllegalArgumentException if the provided Path object does not represent a directory or illegal filter combinations are supplied
+     * @throws java.io.FileNotFoundException if the given directory does not exist
+     * @throws IllegalArgumentException      if the provided Path object does not represent a directory or illegal filter combinations are supplied
      * @see DefaultGroovyMethods#sort(java.util.Collection, groovy.lang.Closure)
      * @see groovy.io.FileVisitResult
      * @see groovy.io.FileType
@@ -1022,7 +992,7 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      */
     public static void traverse(final Path self, final Map<String, Object> options, @ClosureParams(value = SimpleType.class, options = "java.nio.file.Path") final Closure closure)
             throws IOException {
-            // throws FileNotFoundException, IllegalArgumentException {
+        // throws FileNotFoundException, IllegalArgumentException {
         Number maxDepthNumber = DefaultGroovyMethods.asType(options.remove("maxDepth"), Number.class);
         int maxDepth = maxDepthNumber == null ? -1 : maxDepthNumber.intValue();
         Boolean visitRoot = DefaultGroovyMethods.asType(get(options, "visitRoot", false), Boolean.class);
@@ -1093,8 +1063,8 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * @param self    a Path (that happens to be a folder/directory)
      * @param closure the Closure to invoke on each file/directory and optionally returning a {@link groovy.io.FileVisitResult} value
      *                which can be used to control subsequent processing
-     * @throws java.io.FileNotFoundException    if the given directory does not exist
-     * @throws IllegalArgumentException if the provided Path object does not represent a directory
+     * @throws java.io.FileNotFoundException if the given directory does not exist
+     * @throws IllegalArgumentException      if the provided Path object does not represent a directory
      * @see #traverse(Path, java.util.Map, groovy.lang.Closure)
      * @since 2.3.0
      */
@@ -1111,8 +1081,8 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      *
      * @param self    a Path (that happens to be a folder/directory)
      * @param options a Map of options to alter the traversal behavior
-     * @throws java.io.FileNotFoundException    if the given directory does not exist
-     * @throws IllegalArgumentException if the provided Path object does not represent a directory or illegal filter combinations are supplied
+     * @throws java.io.FileNotFoundException if the given directory does not exist
+     * @throws IllegalArgumentException      if the provided Path object does not represent a directory or illegal filter combinations are supplied
      * @see #traverse(Path, java.util.Map, groovy.lang.Closure)
      * @since 2.3.0
      */
@@ -1141,7 +1111,7 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
                 files.add(itr.next());
             }
 
-            if (sort != null) files = DefaultGroovyMethods.sort((Iterable<Path>)files, sort);
+            if (sort != null) files = DefaultGroovyMethods.sort((Iterable<Path>) files, sort);
 
             for (Path path : files) {
                 if (Files.isDirectory(path)) {
@@ -1191,8 +1161,8 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      *
      * @param self    a Path (that happens to be a folder/directory)
      * @param closure a Closure
-     * @throws java.io.FileNotFoundException    if the given directory does not exist
-     * @throws IllegalArgumentException if the provided Path object does not represent a directory
+     * @throws java.io.FileNotFoundException if the given directory does not exist
+     * @throws IllegalArgumentException      if the provided Path object does not represent a directory
      * @see #eachFileRecurse(Path, groovy.io.FileType, groovy.lang.Closure)
      * @since 2.3.0
      */
@@ -1208,8 +1178,8 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      *
      * @param self    a Path (that happens to be a folder/directory)
      * @param closure a closure
-     * @throws java.io.FileNotFoundException    if the given directory does not exist
-     * @throws IllegalArgumentException if the provided Path object does not represent a directory
+     * @throws java.io.FileNotFoundException if the given directory does not exist
+     * @throws IllegalArgumentException      if the provided Path object does not represent a directory
      * @see #eachFileRecurse(Path, groovy.io.FileType, groovy.lang.Closure)
      * @since 2.3.0
      */
@@ -1241,12 +1211,12 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * @param fileType   whether normal files or directories or both should be processed
      * @param nameFilter the filter to perform on the name of the file/directory (using the {@link org.codehaus.groovy.runtime.DefaultGroovyMethods#isCase(Object, Object)} method)
      * @param closure    the closure to invoke
-     * @throws java.io.FileNotFoundException    if the given directory does not exist
-     * @throws IllegalArgumentException if the provided Path object does not represent a directory
+     * @throws java.io.FileNotFoundException if the given directory does not exist
+     * @throws IllegalArgumentException      if the provided Path object does not represent a directory
      * @since 2.3.0
      */
     public static void eachFileMatch(final Path self, final FileType fileType, final Object nameFilter, @ClosureParams(value = SimpleType.class, options = "java.nio.file.Path") final Closure closure) throws IOException {
-            // throws FileNotFoundException, IllegalArgumentException {
+        // throws FileNotFoundException, IllegalArgumentException {
         checkDir(self);
         try (DirectoryStream<Path> stream = Files.newDirectoryStream(self)) {
             Iterator<Path> itr = stream.iterator();
@@ -1271,13 +1241,13 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * @param self       a Path (that happens to be a folder/directory)
      * @param nameFilter the nameFilter to perform on the name of the file (using the {@link org.codehaus.groovy.runtime.DefaultGroovyMethods#isCase(Object, Object)} method)
      * @param closure    the closure to invoke
-     * @throws java.io.FileNotFoundException    if the given directory does not exist
-     * @throws IllegalArgumentException if the provided Path object does not represent a directory
+     * @throws java.io.FileNotFoundException if the given directory does not exist
+     * @throws IllegalArgumentException      if the provided Path object does not represent a directory
      * @see #eachFileMatch(Path, groovy.io.FileType, Object, groovy.lang.Closure)
      * @since 2.3.0
      */
     public static void eachFileMatch(final Path self, final Object nameFilter, @ClosureParams(value = SimpleType.class, options = "java.nio.file.Path") final Closure closure) throws IOException {
-            // throws FileNotFoundException, IllegalArgumentException {
+        // throws FileNotFoundException, IllegalArgumentException {
         eachFileMatch(self, FileType.ANY, nameFilter, closure);
     }
 
@@ -1290,8 +1260,8 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * @param self       a Path (that happens to be a folder/directory)
      * @param nameFilter the nameFilter to perform on the name of the directory (using the {@link org.codehaus.groovy.runtime.DefaultGroovyMethods#isCase(Object, Object)} method)
      * @param closure    the closure to invoke
-     * @throws java.io.FileNotFoundException    if the given directory does not exist
-     * @throws IllegalArgumentException if the provided Path object does not represent a directory
+     * @throws java.io.FileNotFoundException if the given directory does not exist
+     * @throws IllegalArgumentException      if the provided Path object does not represent a directory
      * @see #eachFileMatch(Path, groovy.io.FileType, Object, groovy.lang.Closure)
      * @since 2.3.0
      */
@@ -1347,7 +1317,7 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * @param self        a Path
      * @param newPathName The new pathname for the named file
      * @return <code>true</code> if and only if the renaming succeeded;
-     *         <code>false</code> otherwise
+     * <code>false</code> otherwise
      * @since 2.3.0
      */
     public static boolean renameTo(final Path self, String newPathName) {
@@ -1365,7 +1335,7 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * @param self        a Path
      * @param newPathName The new target path specified as a URI object
      * @return <code>true</code> if and only if the renaming succeeded;
-     *         <code>false</code> otherwise
+     * <code>false</code> otherwise
      * @since 2.3.0
      */
     public static boolean renameTo(final Path self, URI newPathName) {
@@ -1393,7 +1363,7 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * {@link org.codehaus.groovy.runtime.DefaultGroovyMethods#asType(Object, Class)}.
      *
      * @param path a Path
-     * @param c the desired class
+     * @param c    the desired class
      * @return the converted object
      * @since 2.3.0
      */
@@ -1688,10 +1658,10 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * is <code>true</code>, and the file doesn't already exist, the requisite
      * byte order mark is written to the stream when the writer is created.
      *
-     * @param self    a Path
-     * @param charset the charset used
+     * @param self     a Path
+     * @param charset  the charset used
      * @param writeBom whether to write the BOM
-     * @param closure a closure
+     * @param closure  a closure
      * @return the value returned by the closure
      * @throws java.io.IOException if an IOException occurs.
      * @since 2.5.0
@@ -1725,10 +1695,10 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * <code>writeBom</code> is <code>true</code>, and the file doesn't already exist,
      * the requisite byte order mark is written to the stream when the writer is created.
      *
-     * @param self    a Path
-     * @param charset the charset used
+     * @param self     a Path
+     * @param charset  the charset used
      * @param writeBom whether to write the BOM
-     * @param closure a closure
+     * @param closure  a closure
      * @return the value returned by the closure
      * @throws java.io.IOException if an IOException occurs.
      * @since 2.5.0
@@ -1907,7 +1877,7 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
      * @see org.codehaus.groovy.runtime.IOGroovyMethods#filterLine(java.io.Reader, java.io.Writer, groovy.lang.Closure)
      * @since 2.3.0
      */
-    public static void filterLine(Path self, Writer writer, @ClosureParams(value = SimpleType.class, options = "java.lang.String")  Closure closure) throws IOException {
+    public static void filterLine(Path self, Writer writer, @ClosureParams(value = SimpleType.class, options = "java.lang.String") Closure closure) throws IOException {
         IOGroovyMethods.filterLine(newReader(self), writer, closure);
     }
 
@@ -1942,6 +1912,7 @@ public class NioGroovyMethods extends DefaultGroovyMethodsSupport {
 
     /**
      * #deprecated use the variant in IOGroovyMethods
+     *
      * @see org.codehaus.groovy.runtime.IOGroovyMethods#withCloseable(java.io.Closeable, groovy.lang.Closure)
      * @since 2.3.0
      */
diff --git a/subprojects/groovy-nio/src/main/java/org/codehaus/groovy/runtime/WritablePath.java b/subprojects/groovy-nio/src/main/java/org/codehaus/groovy/runtime/WritablePath.java
index fa1157a..4fd7e41 100644
--- a/subprojects/groovy-nio/src/main/java/org/codehaus/groovy/runtime/WritablePath.java
+++ b/subprojects/groovy-nio/src/main/java/org/codehaus/groovy/runtime/WritablePath.java
@@ -38,9 +38,6 @@ import java.util.Iterator;
 
 /**
  * A Writable Path.
- *
- * @author Paolo Di Tommaso <pa...@gmail.com>
- * @author John Wilson
  */
 
 public class WritablePath implements Path, Writable {
diff --git a/subprojects/groovy-nio/src/test/groovy/org/codehaus/groovy/runtime/NioGroovyMethodsTest.groovy b/subprojects/groovy-nio/src/test/groovy/org/codehaus/groovy/runtime/NioGroovyMethodsTest.groovy
index e751ed5..1cbc4c2 100644
--- a/subprojects/groovy-nio/src/test/groovy/org/codehaus/groovy/runtime/NioGroovyMethodsTest.groovy
+++ b/subprojects/groovy-nio/src/test/groovy/org/codehaus/groovy/runtime/NioGroovyMethodsTest.groovy
@@ -26,9 +26,6 @@ import org.junit.Rule
 import org.junit.rules.TemporaryFolder
 import spock.lang.Specification
 
-/**
- * @author Paolo Di Tommaso <pa...@gmail.com>
- */
 class NioGroovyMethodsTest extends Specification {
 
     @Rule
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/AbstractButtonProperties.java b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/AbstractButtonProperties.java
index 56bdc04..826b2b6 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/AbstractButtonProperties.java
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/AbstractButtonProperties.java
@@ -33,7 +33,6 @@ import java.util.HashMap;
 import java.util.Map;
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.1
  */
 public class AbstractButtonProperties {
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JComboBoxMetaMethods.groovy b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JComboBoxMetaMethods.groovy
index 40d0a02..4d6f828 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JComboBoxMetaMethods.groovy
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JComboBoxMetaMethods.groovy
@@ -20,31 +20,28 @@ package groovy.swing.binding
 
 import javax.swing.*
 
-/**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
- */
 class JComboBoxMetaMethods {
 
-    public static void enhanceMetaClass(JComboBox comboBox) {
+    static void enhanceMetaClass(JComboBox comboBox) {
         AbstractSyntheticMetaMethods.enhance(comboBox, [
 
-            getElements:{->
-                ComboBoxModel model = delegate.model;
-                def results = []
-                int size = model.size
-                for (int i = 0; i < size; i++) {
-                    results += model.getElementAt(i)
-                }
-                return results
-            },
+                getElements       : { ->
+                    ComboBoxModel model = delegate.model;
+                    def results = []
+                    int size = model.size
+                    for (int i = 0; i < size; i++) {
+                        results += model.getElementAt(i)
+                    }
+                    return results
+                },
 
-            getSelectedElement:{->
-                return delegate.selectedItem
-            },
+                getSelectedElement: { ->
+                    return delegate.selectedItem
+                },
 
-            setSelectedElement:{def item->
-                return delegate.selectedItem = item
-            },
-        ]);
+                setSelectedElement: { def item ->
+                    return delegate.selectedItem = item
+                },
+        ])
     }
 }
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JComboBoxProperties.java b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JComboBoxProperties.java
index a2c2fc7..5b15751 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JComboBoxProperties.java
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JComboBoxProperties.java
@@ -35,7 +35,6 @@ import java.util.HashMap;
 import java.util.Map;
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.1
  */
 public class JComboBoxProperties {
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JComponentProperties.java b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JComponentProperties.java
index cd97caa..07f74ca 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JComponentProperties.java
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JComponentProperties.java
@@ -33,7 +33,6 @@ import java.util.HashMap;
 import java.util.Map;
 
 /**
- * @author Andres Almiray
  * @since Groovy 1.6
  */
 public class JComponentProperties {
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JListMetaMethods.groovy b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JListMetaMethods.groovy
index ef46be3..2b96d06 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JListMetaMethods.groovy
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JListMetaMethods.groovy
@@ -21,38 +21,36 @@ package groovy.swing.binding
 import javax.swing.*
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
- * @author Andres Almiray
  * @since 1.7.5
  */
 class JListMetaMethods {
-    public static void enhanceMetaClass(JList list) {
+    static void enhanceMetaClass(JList list) {
         AbstractSyntheticMetaMethods.enhance(list, [
-            getElements:{->
-                ListModel model = delegate.model;
-                def results = []
-                int size = model.size
-                for (int i = 0; i < size; i++) {
-                    results += model.getElementAt(i)
-                }
-                return results
-            },
+                getElements        : { ->
+                    ListModel model = delegate.model;
+                    def results = []
+                    int size = model.size
+                    for (int i = 0; i < size; i++) {
+                        results += model.getElementAt(i)
+                    }
+                    return results
+                },
 
-            getSelectedElement:{->
-                return delegate.selectedValue
-            },
+                getSelectedElement : { ->
+                    return delegate.selectedValue
+                },
 
-            getSelectedElements:{->
-                return delegate.selectedValues
-            },
+                getSelectedElements: { ->
+                    return delegate.selectedValues
+                },
 
-            setSelectedElement:{def item->
-                return delegate.setSelectedValue(item, true)
-            },
+                setSelectedElement : { def item ->
+                    return delegate.setSelectedValue(item, true)
+                },
 
-            setSelectedValue:{def item->
-                return delegate.setSelectedValue(item, true)
-            },
-        ]);
+                setSelectedValue   : { def item ->
+                    return delegate.setSelectedValue(item, true)
+                },
+        ])
     }
 }
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JListProperties.groovy b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JListProperties.groovy
index ebebb40..2a5b4fb 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JListProperties.groovy
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JListProperties.groovy
@@ -33,129 +33,128 @@ import java.beans.PropertyChangeEvent
 import java.beans.PropertyChangeListener
 
 /**
- * @author Andres Almiray
  * @since Groovy 1.7.5
  */
-public class JListProperties {
-    public static Map<String, TriggerBinding> getSyntheticProperties() {
-        Map<String, TriggerBinding> result = new HashMap<String, TriggerBinding>();
+class JListProperties {
+    static Map<String, TriggerBinding> getSyntheticProperties() {
+        Map<String, TriggerBinding> result = new HashMap<String, TriggerBinding>()
 
         // to match property name
         result.put(JList.class.getName() + "#selectedValue", new TriggerBinding() {
-            public FullBinding createBinding(SourceBinding source, TargetBinding target) {
-                return new JListSelectedElementBinding((PropertyBinding) source, target, "selectedValue");
+            FullBinding createBinding(SourceBinding source, TargetBinding target) {
+                return new JListSelectedElementBinding((PropertyBinding) source, target, "selectedValue")
             }
-        });
+        })
 
         // to match JSR-295
         result.put(JList.class.getName() + "#selectedElement", new TriggerBinding() {
-            public FullBinding createBinding(SourceBinding source, TargetBinding target) {
-                return new JListSelectedElementBinding((PropertyBinding) source, target, "selectedElement");
+            FullBinding createBinding(SourceBinding source, TargetBinding target) {
+                return new JListSelectedElementBinding((PropertyBinding) source, target, "selectedElement")
             }
-        });
+        })
 
         // to match property name
         result.put(JList.class.getName() + "#selectedValues", new TriggerBinding() {
-            public FullBinding createBinding(SourceBinding source, TargetBinding target) {
-                return new JListSelectedElementBinding((PropertyBinding) source, target, "selectedValues");
+            FullBinding createBinding(SourceBinding source, TargetBinding target) {
+                return new JListSelectedElementBinding((PropertyBinding) source, target, "selectedValues")
             }
-        });
+        })
 
         // to match JSR-295
         result.put(JList.class.getName() + "#selectedElements", new TriggerBinding() {
-            public FullBinding createBinding(SourceBinding source, TargetBinding target) {
-                return new JListSelectedElementBinding((PropertyBinding) source, target, "selectedElements");
+            FullBinding createBinding(SourceBinding source, TargetBinding target) {
+                return new JListSelectedElementBinding((PropertyBinding) source, target, "selectedElements")
             }
-        });
+        })
 
         result.put(JList.class.getName() + "#selectedIndex", new TriggerBinding() {
-            public FullBinding createBinding(SourceBinding source, TargetBinding target) {
-                return new JListSelectedElementBinding((PropertyBinding) source, target, "selectedIndex");
+            FullBinding createBinding(SourceBinding source, TargetBinding target) {
+                return new JListSelectedElementBinding((PropertyBinding) source, target, "selectedIndex")
             }
-        });
+        })
 
         result.put(JList.class.getName() + "#selectedIndices", new TriggerBinding() {
-            public FullBinding createBinding(SourceBinding source, TargetBinding target) {
-                return new JListSelectedElementBinding((PropertyBinding) source, target, "selectedIndices");
+            FullBinding createBinding(SourceBinding source, TargetBinding target) {
+                return new JListSelectedElementBinding((PropertyBinding) source, target, "selectedIndices")
             }
-        });
+        })
 
         // to match JSR-295
         result.put(JList.class.getName() + "#elements", new TriggerBinding() {
-            public FullBinding createBinding(SourceBinding source, TargetBinding target) {
-                return new JListElementsBinding((PropertyBinding) source, target);
+            FullBinding createBinding(SourceBinding source, TargetBinding target) {
+                return new JListElementsBinding((PropertyBinding) source, target)
             }
-        });
+        })
 
-        return result;
+        return result
     }
 }
 
 class JListElementsBinding extends AbstractSyntheticBinding implements ListDataListener, PropertyChangeListener {
-    JList boundList;
+    JList boundList
 
-    public JListElementsBinding(PropertyBinding propertyBinding, TargetBinding target) {
-        super(propertyBinding, target, JList.class, "elements");
+    JListElementsBinding(PropertyBinding propertyBinding, TargetBinding target) {
+        super(propertyBinding, target, JList.class, "elements")
     }
 
     protected void syntheticBind() {
-        boundList = (JList) ((PropertyBinding)sourceBinding).getBean();
-        boundList.addPropertyChangeListener("model", this);
-        boundList.getModel().addListDataListener(this);
+        boundList = (JList) ((PropertyBinding) sourceBinding).getBean()
+        boundList.addPropertyChangeListener("model", this)
+        boundList.getModel().addListDataListener(this)
     }
 
     protected void syntheticUnbind() {
-        boundList.removePropertyChangeListener("model", this);
-        boundList.getModel().removeListDataListener(this);
+        boundList.removePropertyChangeListener("model", this)
+        boundList.getModel().removeListDataListener(this)
     }
 
-    public void propertyChange(PropertyChangeEvent event) {
-        update();
-        ((ListModel) event.getOldValue()).removeListDataListener(this);
-        ((ListModel) event.getNewValue()).addListDataListener(this);
+    void propertyChange(PropertyChangeEvent event) {
+        update()
+        ((ListModel) event.getOldValue()).removeListDataListener(this)
+        ((ListModel) event.getNewValue()).addListDataListener(this)
     }
 
-    public void intervalAdded(ListDataEvent e) {
-        update();
+    void intervalAdded(ListDataEvent e) {
+        update()
     }
 
-    public void intervalRemoved(ListDataEvent e) {
-        update();
+    void intervalRemoved(ListDataEvent e) {
+        update()
     }
 
-    public void contentsChanged(ListDataEvent e) {
-        update();
+    void contentsChanged(ListDataEvent e) {
+        update()
     }
 }
 
 class JListSelectedElementBinding extends AbstractSyntheticBinding implements PropertyChangeListener, ListSelectionListener {
-    JList boundList;
+    JList boundList
 
     protected JListSelectedElementBinding(PropertyBinding source, TargetBinding target, String propertyName) {
-        super(source, target, JList.class, propertyName);
+        super(source, target, JList.class, propertyName)
     }
 
-    public synchronized void syntheticBind() {
-        boundList = (JList) ((PropertyBinding)sourceBinding).getBean();
-        boundList.addPropertyChangeListener("selectionModel", this);
-        boundList.addListSelectionListener(this);
+    synchronized void syntheticBind() {
+        boundList = (JList) ((PropertyBinding) sourceBinding).getBean()
+        boundList.addPropertyChangeListener("selectionModel", this)
+        boundList.addListSelectionListener(this)
     }
 
-    public synchronized void syntheticUnbind() {
-        boundList.removePropertyChangeListener("selectionModel", this);
-        boundList.removeListSelectionListener(this);
-        boundList = null;
+    synchronized void syntheticUnbind() {
+        boundList.removePropertyChangeListener("selectionModel", this)
+        boundList.removeListSelectionListener(this)
+        boundList = null
     }
 
-    public void setTargetBinding(TargetBinding target) {
-        super.setTargetBinding(target);
+    void setTargetBinding(TargetBinding target) {
+        super.setTargetBinding(target)
     }
 
-    public void propertyChange(PropertyChangeEvent event) {
-        update();
+    void propertyChange(PropertyChangeEvent event) {
+        update()
     }
 
-    public void valueChanged(ListSelectionEvent e) {
-        update();
+    void valueChanged(ListSelectionEvent e) {
+        update()
     }
 }
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JScrollBarProperties.java b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JScrollBarProperties.java
index 36a4433..c991d3a 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JScrollBarProperties.java
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JScrollBarProperties.java
@@ -33,7 +33,6 @@ import java.util.HashMap;
 import java.util.Map;
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.1
  */
 public class JScrollBarProperties {
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JSliderProperties.java b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JSliderProperties.java
index d9af8d7..c03c17c 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JSliderProperties.java
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JSliderProperties.java
@@ -33,7 +33,6 @@ import java.util.HashMap;
 import java.util.Map;
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.1
  */
 public class JSliderProperties {
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JSpinnerProperties.java b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JSpinnerProperties.java
index c19431e..69c98fd 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JSpinnerProperties.java
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JSpinnerProperties.java
@@ -33,7 +33,6 @@ import java.util.HashMap;
 import java.util.Map;
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.6.4
  */
 public class JSpinnerProperties {
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JTextComponentProperties.java b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JTextComponentProperties.java
index cfd731e..93e6e14 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JTextComponentProperties.java
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/binding/JTextComponentProperties.java
@@ -35,7 +35,6 @@ import java.util.Map;
 
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.1
  */
 public class JTextComponentProperties {
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/ActionFactory.groovy b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/ActionFactory.groovy
index 12426ac..b3fec80 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/ActionFactory.groovy
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/ActionFactory.groovy
@@ -23,17 +23,13 @@ import org.codehaus.groovy.runtime.InvokerHelper
 
 import javax.swing.*
 
-/**
- *
- * @author Danno Ferrin
- */
-public class ActionFactory extends AbstractFactory {
+class ActionFactory extends AbstractFactory {
 
-    public boolean isHandlesNodeChildren() {
+    boolean isHandlesNodeChildren() {
         return true
     }
 
-    public Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) throws InstantiationException, IllegalAccessException {
+    Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) throws InstantiationException, IllegalAccessException {
         Action action
         if (FactoryBuilderSupport.checkValueIsTypeNotString(value, name, Action)) {
             action = (Action) value
@@ -45,9 +41,7 @@ public class ActionFactory extends AbstractFactory {
         return action
     }
 
-    public boolean onHandleNodeAttributes( FactoryBuilderSupport builder, Object action,
-            Map attributes)
-    {
+    boolean onHandleNodeAttributes( FactoryBuilderSupport builder, Object action, Map attributes) {
         if ((attributes.get("closure") instanceof Closure) && (action instanceof DefaultAction)){
             Closure closure = (Closure) attributes.remove("closure")
             ((DefaultAction)action).setClosure(closure)
@@ -55,7 +49,7 @@ public class ActionFactory extends AbstractFactory {
 
         Object accel = attributes.remove("accelerator")
         if (accel != null) {
-            KeyStroke stroke = null
+            KeyStroke stroke
             if (accel instanceof KeyStroke) {
                 stroke = (KeyStroke) accel
             } else {
@@ -89,7 +83,7 @@ public class ActionFactory extends AbstractFactory {
         return false
     }
 
-    public boolean onNodeChildren(FactoryBuilderSupport builder, Object node, Closure childContent) {
+    boolean onNodeChildren(FactoryBuilderSupport builder, Object node, Closure childContent) {
         if (!(node instanceof DefaultAction)) {
             throw new RuntimeException("$builder.currentName only accepts a closure content when the action is generated by the node")
         }
@@ -100,7 +94,7 @@ public class ActionFactory extends AbstractFactory {
         return false
     }
 
-    public void setParent(FactoryBuilderSupport builder, Object parent, Object action) {
+    void setParent(FactoryBuilderSupport builder, Object parent, Object action) {
         try {
             InvokerHelper.setProperty(parent, "action", action)
         } catch (RuntimeException re) {
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/BeanFactory.groovy b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/BeanFactory.groovy
index bb35543..bf42e12 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/BeanFactory.groovy
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/BeanFactory.groovy
@@ -19,27 +19,26 @@
 package groovy.swing.factory
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.1
  */
 class BeanFactory extends AbstractFactory {
     final Class beanClass
     final protected boolean leaf
 
-    public BeanFactory(Class beanClass) {
+    BeanFactory(Class beanClass) {
         this(beanClass, false)
     }
 
-    public BeanFactory(Class beanClass, boolean leaf) {
+    BeanFactory(Class beanClass, boolean leaf) {
         this.beanClass = beanClass
         this.leaf = leaf
     }
 
-    public boolean isLeaf() {
+    boolean isLeaf() {
         return leaf
     }
 
-    public Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) throws InstantiationException, IllegalAccessException {
+    Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) throws InstantiationException, IllegalAccessException {
         if (value instanceof GString) value = value as String
         if (FactoryBuilderSupport.checkValueIsTypeNotString(value, name, beanClass)) {
             return value
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/BindFactory.groovy b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/BindFactory.groovy
index bc7b623..96137ef 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/BindFactory.groovy
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/BindFactory.groovy
@@ -43,16 +43,15 @@ import org.codehaus.groovy.binding.TriggerBinding
 import java.util.Map.Entry
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.1
  */
-public class BindFactory extends AbstractFactory {
+class BindFactory extends AbstractFactory {
 
     public static final String CONTEXT_DATA_KEY = "BindFactoryData";
 
     final Map<String, TriggerBinding> syntheticBindings
 
-    public BindFactory() {
+    BindFactory() {
         syntheticBindings = new HashMap()
 
         // covers JTextField.text
@@ -88,7 +87,7 @@ public class BindFactory extends AbstractFactory {
         // JTable.elements
         // JTable.selectedElement
         // JTable.selectedElements
-        syntheticBindings.putAll(JTableProperties.syntheticProperties);
+        syntheticBindings.putAll(JTableProperties.syntheticProperties)
 
         // JTree.root
         // JTree.selectedElement
@@ -121,7 +120,7 @@ public class BindFactory extends AbstractFactory {
      * @throws InstantiationException
      * @throws IllegalAccessException
      */
-    public Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) throws InstantiationException, IllegalAccessException {
+    Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) throws InstantiationException, IllegalAccessException {
         Object source = attributes.remove("source")
         Object target = attributes.remove("target")
         Object update = attributes.get("update")
@@ -133,9 +132,9 @@ public class BindFactory extends AbstractFactory {
         TargetBinding tb = null
         if (target != null) {
             Object targetProperty = attributes.remove("targetProperty") ?: value
-            if (! (targetProperty instanceof CharSequence)) {
+            if (!(targetProperty instanceof CharSequence)) {
                 throw new IllegalArgumentException("Invalid value for targetProperty: (or node value)." +
-                " Value for this attribute must be a String but it is "+ (targetProperty != null? targetProperty.getClass().getName() : null))
+                        " Value for this attribute must be a String but it is " + (targetProperty != null ? targetProperty.getClass().getName() : null))
             }
             tb = new PropertyBinding(target, targetProperty.toString(), update)
             if (source == null) {
@@ -169,15 +168,15 @@ public class BindFactory extends AbstractFactory {
         } else if (spa && !(sea && sva)) {
             // partially property driven binding
             Object property = attributes.remove("sourceProperty") ?: value
-            if (! (property instanceof CharSequence)) {
+            if (!(property instanceof CharSequence)) {
                 throw new IllegalArgumentException("Invalid value for sourceProperty: (or node value). " +
-                    "Value for this attribute must be a String but it is "+ (property != null? property.getClass().getName() : null))
+                        "Value for this attribute must be a String but it is " + (property != null ? property.getClass().getName() : null))
             }
 
             if (source == null) {
                 // if we have a sourceProperty but no source then we're in trouble
-                throw new IllegalArgumentException("Missing value for source: even though sourceProperty: (or node value) "+
-                    "was specified. Please check you didn't write bind(model.someProperty) instead of bind{ model.someProperty }")
+                throw new IllegalArgumentException("Missing value for source: even though sourceProperty: (or node value) " +
+                        "was specified. Please check you didn't write bind(model.someProperty) instead of bind{ model.someProperty }")
             }
 
             PropertyBinding pb = new PropertyBinding(source, property.toString(), update)
@@ -241,7 +240,7 @@ public class BindFactory extends AbstractFactory {
         return fb
     }
 
-    public void onNodeCompleted(FactoryBuilderSupport builder, Object parent, Object node) {
+    void onNodeCompleted(FactoryBuilderSupport builder, Object parent, Object node) {
         super.onNodeCompleted(builder, parent, node);
 
         if (node instanceof FullBinding && node.sourceBinding && node.targetBinding) {
@@ -258,38 +257,38 @@ public class BindFactory extends AbstractFactory {
         }
     }
 
-    public boolean onHandleNodeAttributes(FactoryBuilderSupport builder, Object node, Map attributes) {
+    boolean onHandleNodeAttributes(FactoryBuilderSupport builder, Object node, Map attributes) {
         attributes.remove('update')
         true
     }
 
-    public boolean isLeaf() {
-        return false;
+    boolean isLeaf() {
+        return false
     }
 
-    public boolean isHandlesNodeChildren() {
-        return true;
+    boolean isHandlesNodeChildren() {
+        return true
     }
 
-    public boolean onNodeChildren(FactoryBuilderSupport builder, Object node, Closure childContent) {
+    boolean onNodeChildren(FactoryBuilderSupport builder, Object node, Closure childContent) {
         if ((node instanceof FullBinding) && (node.converter == null)) {
             node.converter = childContent
             return false
         } else if (node instanceof ClosureTriggerBinding) {
             node.closure = childContent
-            return false;
+            return false
         } else if (node instanceof TriggerBinding) {
             def bindAttrs = builder.context.get(CONTEXT_DATA_KEY)[node] ?: [:]
             if (!bindAttrs.containsKey("converter")) {
                 bindAttrs["converter"] = childContent
-                return false;
+                return false
             }
         }
 
         throw new RuntimeException("Binding nodes do not accept child content when a converter is already specified")
     }
 
-    public TriggerBinding getTriggerBinding(PropertyBinding psb) {
+    TriggerBinding getTriggerBinding(PropertyBinding psb) {
         String property = psb.propertyName
         Class currentClass = psb.bean.getClass()
         while (currentClass != null) {
@@ -304,7 +303,7 @@ public class BindFactory extends AbstractFactory {
         return psb
     }
 
-    public bindingAttributeDelegate(FactoryBuilderSupport builder, def node, def attributes) {
+    bindingAttributeDelegate(FactoryBuilderSupport builder, def node, def attributes) {
         Iterator iter = attributes.entrySet().iterator()
         Map bindContext = builder.context.get(CONTEXT_DATA_KEY) ?: [:]
 
@@ -364,7 +363,7 @@ public class BindFactory extends AbstractFactory {
         bindAttrs.remove('update')
         Object bindValue = bindAttrs.remove("bind")
         List propertiesToBeSkipped = ['group']
-        bindAttrs.each {k, v -> if (!(k in propertiesToBeSkipped)) fb."$k" = v}
+        bindAttrs.each { k, v -> if (!(k in propertiesToBeSkipped)) fb."$k" = v }
 
         if ((bindAttrs.group instanceof AggregateBinding) && (fb instanceof BindingUpdatable)) {
             bindAttrs.group.addBinding(fb)
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/BindProxyFactory.groovy b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/BindProxyFactory.groovy
index de2719a..744e763 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/BindProxyFactory.groovy
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/BindProxyFactory.groovy
@@ -21,16 +21,15 @@ package groovy.swing.factory
 import org.codehaus.groovy.binding.BindingProxy
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.1
  */
-public class BindProxyFactory extends AbstractFactory {
+class BindProxyFactory extends AbstractFactory {
 
-    public boolean isLeaf() {
+    boolean isLeaf() {
         return true
     }
 
-    public Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) throws InstantiationException, IllegalAccessException {
+    Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) throws InstantiationException, IllegalAccessException {
         if (value == null) {
             throw new RuntimeException("$name requires a value argument.");
         }
@@ -41,7 +40,7 @@ public class BindProxyFactory extends AbstractFactory {
         return mb;
     }
 
-    public void onNodeCompleted( FactoryBuilderSupport builder, Object parent, Object node ) {
+    void onNodeCompleted(FactoryBuilderSupport builder, Object parent, Object node) {
         if (builder.context.bind) {
             node.bind()
         }
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/CellEditorFactory.groovy b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/CellEditorFactory.groovy
index 1a3c996..a4edfa2 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/CellEditorFactory.groovy
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/CellEditorFactory.groovy
@@ -22,23 +22,20 @@ import groovy.swing.impl.ClosureCellEditor
 
 import java.awt.*
 
-/**
-* @author Alexander Klein
-*/
 class CellEditorFactory extends AbstractFactory {
 
-   public Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) {
+   Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) {
        FactoryBuilderSupport.checkValueIsNull value, name
        return new ClosureCellEditor(null, attributes)
    }
 
-   public void setChild(FactoryBuilderSupport builder, Object parent, Object child) {
+   void setChild(FactoryBuilderSupport builder, Object parent, Object child) {
        if (child instanceof Component) {
            parent.children += child
        }
    }
 
-   public void onNodeCompleted(FactoryBuilderSupport builder, Object parent, Object node) {
+   void onNodeCompleted(FactoryBuilderSupport builder, Object parent, Object node) {
        node.editorValue = builder.context.editorValueClosure
        node.prepareEditor = builder.context.prepareEditorClosure
        parent.cellEditor = node
@@ -47,15 +44,15 @@ class CellEditorFactory extends AbstractFactory {
 
 class CellEditorGetValueFactory extends AbstractFactory {
 
-   public Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) {
+   Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) {
        return Collections.emptyMap()
    }
 
-   public boolean isHandlesNodeChildren() {
-       return true;
+   boolean isHandlesNodeChildren() {
+       return true
    }
 
-   public boolean onNodeChildren(FactoryBuilderSupport builder, Object node, Closure childContent) {
+   boolean onNodeChildren(FactoryBuilderSupport builder, Object node, Closure childContent) {
        builder.parentContext.editorValueClosure = childContent
        return false
    }
@@ -63,15 +60,15 @@ class CellEditorGetValueFactory extends AbstractFactory {
 
 class CellEditorPrepareFactory extends AbstractFactory {
 
-   public Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) {
+   Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) {
        return Collections.emptyMap()
    }
 
-   public boolean isHandlesNodeChildren() {
-       return true;
+   boolean isHandlesNodeChildren() {
+       return true
    }
 
-   public boolean onNodeChildren(FactoryBuilderSupport builder, Object node, Closure childContent) {
+   boolean onNodeChildren(FactoryBuilderSupport builder, Object node, Closure childContent) {
        builder.parentContext.prepareEditorClosure = childContent
        return false
    }
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/ColumnFactory.groovy b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/ColumnFactory.groovy
index d4d0c88..cdc6748 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/ColumnFactory.groovy
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/ColumnFactory.groovy
@@ -24,15 +24,11 @@ import javax.swing.table.TableCellRenderer
 import javax.swing.table.TableColumn
 import javax.swing.table.TableColumnModel
 
-/**
- * @author Alexander Klein
- * @author Hamlet D'Arcy
- */
 @Log
 class ColumnFactory extends AbstractFactory {
 
     Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) {
-        if(value instanceof TableColumn) {
+        if (value instanceof TableColumn) {
             return value
         }
 
@@ -43,39 +39,39 @@ class ColumnFactory extends AbstractFactory {
         } catch (ClassNotFoundException ex) {
         }
 
-        if(jxTableClass != null && builder.current instanceof TableColumnModel) {
+        if (jxTableClass != null && builder.current instanceof TableColumnModel) {
             node = Class.forName("org.jdesktop.swingx.table.TableColumnExt").newInstance()
         } else {
             node = new javax.swing.table.TableColumn()
         }
 
-        if(value != null) {
+        if (value != null) {
             node.identifier = value.toString()
             attributes.remove('identifier')
         }
 
-        if(attributes.width) {
-            if(attributes.width instanceof Collection) {
+        if (attributes.width) {
+            if (attributes.width instanceof Collection) {
                 // 3 values: min, pref, max
                 // 2 values: min, pref
                 // 1 value:  pref
                 def (min, pref, max) = attributes.width
-                if(!pref && !max) {
+                if (!pref && !max) {
                     node.minWidth = 0
                     node.preferredWidth = min as Integer
                     node.maxWidth = Integer.MAX_VALUE
                 } else {
-                  if(min) {
-                      node.minWidth = min as Integer
-                  }
-                  if(pref) {
-                      node.preferredWidth = pref as Integer
-                  }
-                  if(max) {
-                      node.maxWidth = max as Integer
-                  }
+                    if (min) {
+                        node.minWidth = min as Integer
+                    }
+                    if (pref) {
+                        node.preferredWidth = pref as Integer
+                    }
+                    if (max) {
+                        node.maxWidth = max as Integer
+                    }
                 }
-            } else if(attributes.width instanceof Number) {
+            } else if (attributes.width instanceof Number) {
                 node.minWidth = attributes.width.intValue()
                 node.preferredWidth = attributes.width.intValue()
                 node.maxWidth = attributes.width.intValue()
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/ColumnModelFactory.groovy b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/ColumnModelFactory.groovy
index e44f4e0..a43b432 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/ColumnModelFactory.groovy
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/ColumnModelFactory.groovy
@@ -23,10 +23,6 @@ import groovy.util.logging.Log
 import javax.swing.*
 import javax.swing.table.TableColumnModel
 
-/**
- * @author Alexander Klein
- * @author Hamlet D'Arcy
- */
 @Log
 class ColumnModelFactory extends AbstractFactory {
 
@@ -38,16 +34,17 @@ class ColumnModelFactory extends AbstractFactory {
         Class jxTableClass = null
         try {
             jxTableClass = Class.forName("org.jdesktop.swingx.JXTable")
-        } catch (ClassNotFoundException ex) {}
+        } catch (ClassNotFoundException ex) {
+        }
 
         if (jxTableClass != null && jxTableClass.isAssignableFrom(builder.current.getClass())) {
             return Class.forName("org.jdesktop.swingx.table.DefaultTableColumnModelExt").newInstance()
-        } else{
+        } else {
             return new javax.swing.table.DefaultTableColumnModel()
         }
     }
 
-    public void onNodeCompleted(FactoryBuilderSupport builder, Object parent, Object node) {
+    void onNodeCompleted(FactoryBuilderSupport builder, Object parent, Object node) {
         if (parent instanceof JTable) {
             parent.columnModel = node
         } else {
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/ListFactory.groovy b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/ListFactory.groovy
index 565710e..ebaff88 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/ListFactory.groovy
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/ListFactory.groovy
@@ -25,12 +25,10 @@ import javax.swing.*
 
 /**
  * Create a JList, and handle the optional items attribute.
- *
- * @author HuberB1
  */
-public class ListFactory extends AbstractFactory {
+class ListFactory extends AbstractFactory {
 
-    public Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) throws InstantiationException, IllegalAccessException {
+    Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) throws InstantiationException, IllegalAccessException {
         // FactoryBuilderSupport.checkValueIsType(value, name, JList)
 
         JList list
@@ -38,7 +36,7 @@ public class ListFactory extends AbstractFactory {
 
         if (value instanceof JList) {
             list = value
-        } else if (value instanceof Vector || value instanceof Object[]){
+        } else if (value instanceof Vector || value instanceof Object[]) {
             list = new JList(value)
         } else if (value instanceof List) {
             list = new JList(new ListWrapperListModel(items))
@@ -58,7 +56,7 @@ public class ListFactory extends AbstractFactory {
         return list
     }
 
-    public boolean onHandleNodeAttributes(FactoryBuilderSupport builder, Object node, Map attributes) {
+    boolean onHandleNodeAttributes(FactoryBuilderSupport builder, Object node, Map attributes) {
         if (attributes.containsKey("listData")) {
             def listData = attributes.remove("listData")
             if (listData instanceof Vector || listData instanceof Object[]) {
@@ -69,10 +67,11 @@ public class ListFactory extends AbstractFactory {
                 node.listData = listData.toArray()
             } else {
                 // allow any iterable ??
-                node.listData = listData.collect([]){it} as Object[]
+                node.listData = listData.collect([]) { it } as Object[]
             }
         }
         return true
     }
+
 }
 
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/RendererFactory.groovy b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/RendererFactory.groovy
index 1227893..7e3f11d 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/RendererFactory.groovy
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/RendererFactory.groovy
@@ -23,28 +23,24 @@ import groovy.swing.impl.ClosureRenderer
 import javax.swing.*
 import java.awt.*
 
-/**
- * @author Danno Ferrin
- */
 class RendererFactory extends AbstractFactory {
 
-    public Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) {
+    Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) {
         FactoryBuilderSupport.checkValueIsNull value, name
         return new ClosureRenderer()
     }
 
-    public void setChild(FactoryBuilderSupport builder, Object parent, Object child) {
+    void setChild(FactoryBuilderSupport builder, Object parent, Object child) {
         if (child instanceof Component) {
             parent.children += child
         }
     }
 
-    public void onNodeCompleted(FactoryBuilderSupport builder, Object parent, Object node) {
+    void onNodeCompleted(FactoryBuilderSupport builder, Object parent, Object node) {
         node.update = builder.context.updateClosure
         if (parent instanceof JTree) {
             parent.cellRenderer = node
-        }
-        else if (parent instanceof JList) {
+        } else if (parent instanceof JList) {
             parent.cellRenderer = node
         }
     }
@@ -52,15 +48,15 @@ class RendererFactory extends AbstractFactory {
 
 class RendererUpdateFactory extends AbstractFactory {
 
-    public Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) {
+    Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) {
         return Collections.emptyMap()
     }
 
-    public boolean isHandlesNodeChildren() {
-        return true;
+    boolean isHandlesNodeChildren() {
+        return true
     }
 
-    public boolean onNodeChildren(FactoryBuilderSupport builder, Object node, Closure childContent) {
+    boolean onNodeChildren(FactoryBuilderSupport builder, Object node, Closure childContent) {
         builder.parentContext.updateClosure = childContent
         return false
     }
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/RichActionWidgetFactory.groovy b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/RichActionWidgetFactory.groovy
index e1a6300..b0ffe59 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/RichActionWidgetFactory.groovy
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/RichActionWidgetFactory.groovy
@@ -24,53 +24,49 @@ import java.lang.reflect.InvocationTargetException
 import java.util.logging.Level
 import java.util.logging.Logger
 
-/**
- *
- * @author shemnon
- */
-public class RichActionWidgetFactory extends AbstractFactory {
-    static final Class[] ACTION_ARGS = [Action];
-    static final Class[] ICON_ARGS = [Icon];
-    static final Class[] STRING_ARGS = [String];
+class RichActionWidgetFactory extends AbstractFactory {
+    static final Class[] ACTION_ARGS = [Action]
+    static final Class[] ICON_ARGS = [Icon]
+    static final Class[] STRING_ARGS = [String]
 
-    final Constructor actionCtor;
-    final Constructor iconCtor;
-    final Constructor stringCtor;
-    final Class klass;
+    final Constructor actionCtor
+    final Constructor iconCtor
+    final Constructor stringCtor
+    final Class klass
 
-    public RichActionWidgetFactory(Class klass) {
+    RichActionWidgetFactory(Class klass) {
         try {
-            actionCtor = klass.getConstructor(ACTION_ARGS);
-            iconCtor = klass.getConstructor(ICON_ARGS);
-            stringCtor = klass.getConstructor(STRING_ARGS);
-            this.klass = klass;
+            actionCtor = klass.getConstructor(ACTION_ARGS)
+            iconCtor = klass.getConstructor(ICON_ARGS)
+            stringCtor = klass.getConstructor(STRING_ARGS)
+            this.klass = klass
         } catch (NoSuchMethodException ex) {
-            Logger.getLogger("global").log(Level.INFO, null, ex);
+            Logger.getLogger("global").log(Level.INFO, null, ex)
         } catch (SecurityException ex) {
-            Logger.getLogger("global").log(Level.SEVERE, null, ex);
+            Logger.getLogger("global").log(Level.SEVERE, null, ex)
         }
     }
 
-    public Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) throws InstantiationException, IllegalAccessException {
+    Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) throws InstantiationException, IllegalAccessException {
         try {
             if (value instanceof GString) value = value as String
             if (value == null) {
-                return klass.newInstance();
+                return klass.newInstance()
             } else if (value instanceof Action) {
-                return actionCtor.newInstance(value);
+                return actionCtor.newInstance(value)
             } else if (value instanceof Icon) {
-                return iconCtor.newInstance(value);
+                return iconCtor.newInstance(value)
             } else if (value instanceof String) {
-                return stringCtor.newInstance(value);
+                return stringCtor.newInstance(value)
             } else if (klass.isAssignableFrom(value.getClass())) {
-                return value;
+                return value
             } else {
-                throw new RuntimeException("$name can only have a value argument of type javax.swing.Action, javax.swing.Icon, java.lang.String, or $klass.name");
+                throw new RuntimeException("$name can only have a value argument of type javax.swing.Action, javax.swing.Icon, java.lang.String, or $klass.name")
             }
         } catch (IllegalArgumentException e) {
-            throw new RuntimeException("Failed to create component for '$name' reason: $e", e);
+            throw new RuntimeException("Failed to create component for '$name' reason: $e", e)
         } catch (InvocationTargetException e) {
-            throw new RuntimeException("Failed to create component for '$name' reason: $e", e);
+            throw new RuntimeException("Failed to create component for '$name' reason: $e", e)
         }
     }
 
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/TextArgWidgetFactory.groovy b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/TextArgWidgetFactory.groovy
index a970504..8ffc847 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/TextArgWidgetFactory.groovy
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/factory/TextArgWidgetFactory.groovy
@@ -20,32 +20,28 @@ package groovy.swing.factory
 
 import org.codehaus.groovy.runtime.InvokerHelper
 
-/**
- *
- * @author Danno Ferrin
- */
-public class TextArgWidgetFactory extends AbstractFactory {
+class TextArgWidgetFactory extends AbstractFactory {
 
-    final Class klass;
+    final Class klass
 
-    public TextArgWidgetFactory(Class klass) {
-        this.klass = klass;
+    TextArgWidgetFactory(Class klass) {
+        this.klass = klass
     }
 
-    public Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) throws InstantiationException, IllegalAccessException {
+    Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) throws InstantiationException, IllegalAccessException {
         if (value instanceof GString) value = value as String
         if (FactoryBuilderSupport.checkValueIsTypeNotString(value, name, klass)) {
-            return value;
+            return value
         }
 
-        Object widget = klass.newInstance();
+        Object widget = klass.newInstance()
 
         if (value instanceof String) {
             // this does not create property setting order issues, since the value arg precedes all attributes in the builder element
-            InvokerHelper.setProperty(widget, "text", value);
+            InvokerHelper.setProperty(widget, "text", value)
         }
 
-        return widget;
+        return widget
     }
 
 }
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/ClosureCellEditor.groovy b/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/ClosureCellEditor.groovy
index 9b8098e..3bf067c 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/ClosureCellEditor.groovy
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/ClosureCellEditor.groovy
@@ -24,16 +24,13 @@ import javax.swing.tree.TreeCellEditor
 import java.awt.*
 import java.util.List
 
-/**
- * @author Alexander Klein
- */
 class ClosureCellEditor extends AbstractCellEditor implements TableCellEditor, TreeCellEditor {
     Map<String, Closure> callbacks = [:]
     Closure prepareEditor
     Closure editorValue
     List children = []
     boolean defaultEditor
-    
+
     JTable table
     JTree tree
     Object value
@@ -42,14 +39,14 @@ class ClosureCellEditor extends AbstractCellEditor implements TableCellEditor, T
     boolean leaf
     int row
     int column
-    
+
     ClosureCellEditor(Closure c = null, Map<String, Closure> callbacks = [:]) {
         this.editorValue = c
         this.callbacks.putAll(callbacks)
     }
-    
+
     @Override
-    public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
+    Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
         this.table = table
         this.tree = null
         this.value = value
@@ -58,10 +55,10 @@ class ClosureCellEditor extends AbstractCellEditor implements TableCellEditor, T
         this.leaf = false
         this.row = row
         this.column = column
-        
+
         return prepare();
     }
-    
+
     Component getTreeCellEditorComponent(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row) {
         this.table = null
         this.tree = tree
@@ -71,10 +68,10 @@ class ClosureCellEditor extends AbstractCellEditor implements TableCellEditor, T
         this.leaf = leaf
         this.row = row
         this.column = -1
-        
+
         return prepare();
     }
-    
+
     private Component prepare() {
         if (children.isEmpty() || defaultEditor) {
             defaultEditor = true
@@ -94,30 +91,30 @@ class ClosureCellEditor extends AbstractCellEditor implements TableCellEditor, T
             return (Component) children[0]
         }
     }
-    
+
     @Override
-    public Object getCellEditorValue() {
+    Object getCellEditorValue() {
         editorValue.call()
     }
-    
-    public void setEditorValue(Closure editorValue) {
+
+    void setEditorValue(Closure editorValue) {
         if (editorValue != null) {
             editorValue.delegate = this
             editorValue.resolveStrategy = Closure.DELEGATE_FIRST
         }
         this.editorValue = editorValue
     }
-    
-    public void setPrepareEditor(Closure prepareEditor) {
+
+    void setPrepareEditor(Closure prepareEditor) {
         if (prepareEditor != null) {
             prepareEditor.delegate = this
             prepareEditor.resolveStrategy = Closure.DELEGATE_FIRST
         }
         this.prepareEditor = prepareEditor
     }
-    
+
     @Override
-    public Object invokeMethod(String name, Object args) {
+    Object invokeMethod(String name, Object args) {
         def calledMethod = ClosureCellEditor.metaClass.getMetaMethod(name, args)
         if (callbacks."$name" && callbacks."$name" instanceof Closure)
             return callbacks."$name".call(calledMethod, this, args)
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/ClosureRenderer.java b/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/ClosureRenderer.java
index bc7e20e..11cb6d0 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/ClosureRenderer.java
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/ClosureRenderer.java
@@ -28,9 +28,6 @@ import java.awt.*;
 import java.util.ArrayList;
 import java.util.List;
 
-/**
- * @author Danno.Ferrin
- */
 public class ClosureRenderer implements ListCellRenderer, TableCellRenderer, TreeCellRenderer {
 
     Closure update;
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/DefaultAction.java b/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/DefaultAction.java
index a595efd..68cbce3 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/DefaultAction.java
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/DefaultAction.java
@@ -25,8 +25,6 @@ import java.awt.event.ActionEvent;
 
 /** 
  * A default action implementation
- *
- * @author <a href="mailto:james@coredevelopers.net">James Strachan</a>
  */
 public class DefaultAction extends AbstractAction {
 
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/ListWrapperListModel.java b/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/ListWrapperListModel.java
index ea29e54..492b661 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/ListWrapperListModel.java
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/ListWrapperListModel.java
@@ -26,8 +26,6 @@ import java.util.ListIterator;
 
 /**
  * A {@code ListModel} implementation that's backed by a live {@code List}.
- *
- * @author Andres Almiray
  */
 public class ListWrapperListModel<E> extends AbstractListModel {
     private final List<E> delegate;
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/TableLayout.java b/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/TableLayout.java
index ace204c..81d3b9f 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/TableLayout.java
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/TableLayout.java
@@ -23,8 +23,6 @@ import java.awt.*;
 
 /** 
  * Represents a HTML style table layout
- *
- * @author <a href="mailto:james@coredevelopers.net">James Strachan</a>
  */
 public class TableLayout extends JPanel {
 
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/TableLayoutCell.java b/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/TableLayoutCell.java
index 3350fcc..ffa94d4 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/TableLayoutCell.java
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/TableLayoutCell.java
@@ -24,8 +24,6 @@ import java.util.logging.Logger;
 
 /** 
  * Represents a cell in a table layout.
- *
- * @author <a href="mailto:james@coredevelopers.net">James Strachan</a>
  */
 public class TableLayoutCell {
 
diff --git a/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/TableLayoutRow.java b/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/TableLayoutRow.java
index 65c4adf..a4eaed1 100644
--- a/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/TableLayoutRow.java
+++ b/subprojects/groovy-swing/src/main/groovy/groovy/swing/impl/TableLayoutRow.java
@@ -25,8 +25,6 @@ import java.util.List;
 
 /** 
  * Represents a row in a table layout
- *
- * @author <a href="mailto:james@coredevelopers.net">James Strachan</a>
  */
 public class TableLayoutRow {
 
diff --git a/subprojects/groovy-swing/src/main/java/groovy/inspect/swingui/TableMap.java b/subprojects/groovy-swing/src/main/java/groovy/inspect/swingui/TableMap.java
index fcfdd27..9645746 100644
--- a/subprojects/groovy-swing/src/main/java/groovy/inspect/swingui/TableMap.java
+++ b/subprojects/groovy-swing/src/main/java/groovy/inspect/swingui/TableMap.java
@@ -31,8 +31,6 @@ import javax.swing.table.TableModel;
  * TableModelListener by routing all events to its listeners. Inserting
  * a TableMap which has not been subclassed into a chain of table filters
  * should have no effect.
- *
- * @author Philip Milne
  */
 public class TableMap extends AbstractTableModel implements TableModelListener {
     protected TableModel model;
diff --git a/subprojects/groovy-swing/src/main/java/groovy/inspect/swingui/TableSorter.java b/subprojects/groovy-swing/src/main/java/groovy/inspect/swingui/TableSorter.java
index 5e1a9ee..74ed0d6 100644
--- a/subprojects/groovy-swing/src/main/java/groovy/inspect/swingui/TableSorter.java
+++ b/subprojects/groovy-swing/src/main/java/groovy/inspect/swingui/TableSorter.java
@@ -41,9 +41,6 @@ import java.util.Vector;
  * with the rows in a different order. The sorting algorithm used is stable
  * which means that it does not move around rows when its comparison
  * function returns 0 to denote that they are equivalent.
- *
- * @author Philip Milne
- * @author Minimal adjustments by Dierk Koenig, June 2005
  */
 public class TableSorter extends TableMap {
     private static final int[] EMPTY_INT_ARRAY = new int[0];
diff --git a/subprojects/groovy-swing/src/main/java/groovy/model/ClosureModel.java b/subprojects/groovy-swing/src/main/java/groovy/model/ClosureModel.java
index 82c1471..0f664de 100644
--- a/subprojects/groovy-swing/src/main/java/groovy/model/ClosureModel.java
+++ b/subprojects/groovy-swing/src/main/java/groovy/model/ClosureModel.java
@@ -24,8 +24,6 @@ import groovy.lang.Closure;
  * Represents a value model using a closure to extract
  * the value from some source model and an optional write closure
  * for updating the value.
- * 
- * @author <a href="mailto:james@coredevelopers.net">James Strachan</a>
  */
 public class ClosureModel implements ValueModel, NestedValueModel {
 
diff --git a/subprojects/groovy-swing/src/main/java/groovy/model/DefaultTableColumn.java b/subprojects/groovy-swing/src/main/java/groovy/model/DefaultTableColumn.java
index ceea31b..29fcf5b 100644
--- a/subprojects/groovy-swing/src/main/java/groovy/model/DefaultTableColumn.java
+++ b/subprojects/groovy-swing/src/main/java/groovy/model/DefaultTableColumn.java
@@ -22,8 +22,6 @@ import javax.swing.table.TableColumn;
 
 /** 
  * Represents a column using a ValueModel to extract the value.
- *
- * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
  */
 public class DefaultTableColumn extends TableColumn {
 
diff --git a/subprojects/groovy-swing/src/main/java/groovy/model/DefaultTableModel.java b/subprojects/groovy-swing/src/main/java/groovy/model/DefaultTableModel.java
index 15fafff..0e4d45c 100644
--- a/subprojects/groovy-swing/src/main/java/groovy/model/DefaultTableModel.java
+++ b/subprojects/groovy-swing/src/main/java/groovy/model/DefaultTableModel.java
@@ -30,8 +30,6 @@ import java.util.List;
 
 /**
  * A default table model made up of PropertyModels on a Value model.
- * 
- * @author <a href="mailto:james@coredevelopers.net">James Strachan</a>
  */
 public class DefaultTableModel extends AbstractTableModel {
 
diff --git a/subprojects/groovy-swing/src/main/java/groovy/model/FormModel.java b/subprojects/groovy-swing/src/main/java/groovy/model/FormModel.java
index efa9e7d..fdec612 100644
--- a/subprojects/groovy-swing/src/main/java/groovy/model/FormModel.java
+++ b/subprojects/groovy-swing/src/main/java/groovy/model/FormModel.java
@@ -24,8 +24,6 @@ import java.util.Map;
 /**
  * Represents a number of field models which can be ValueModel, 
  * PropertyModel, TableModel, TreeModel or nested FormModel instances
- * 
- * @author <a href="mailto:james@coredevelopers.net">James Strachan</a>
  */
 public class FormModel {
     private Map fieldModels;
diff --git a/subprojects/groovy-swing/src/main/java/groovy/model/NestedValueModel.java b/subprojects/groovy-swing/src/main/java/groovy/model/NestedValueModel.java
index 60637c4..c31d269 100644
--- a/subprojects/groovy-swing/src/main/java/groovy/model/NestedValueModel.java
+++ b/subprojects/groovy-swing/src/main/java/groovy/model/NestedValueModel.java
@@ -21,8 +21,6 @@ package groovy.model;
 /**
  * Represents a nested value model such as a PropertyModel
  * or a ClosureModel
- * 
- * @author <a href="mailto:james@coredevelopers.net">James Strachan</a>
  */
 public interface NestedValueModel {
     ValueModel getSourceModel();
diff --git a/subprojects/groovy-swing/src/main/java/groovy/model/PropertyModel.java b/subprojects/groovy-swing/src/main/java/groovy/model/PropertyModel.java
index 0aafbfd..4b56d9b 100644
--- a/subprojects/groovy-swing/src/main/java/groovy/model/PropertyModel.java
+++ b/subprojects/groovy-swing/src/main/java/groovy/model/PropertyModel.java
@@ -22,8 +22,6 @@ import org.codehaus.groovy.runtime.InvokerHelper;
 
 /**
  * Represents a property of a value as a model.
- * 
- * @author <a href="mailto:james@coredevelopers.net">James Strachan</a>
  */
 public class PropertyModel implements ValueModel, NestedValueModel {
 
diff --git a/subprojects/groovy-swing/src/main/java/groovy/model/ValueHolder.java b/subprojects/groovy-swing/src/main/java/groovy/model/ValueHolder.java
index 1b7ad7c..e34b043 100644
--- a/subprojects/groovy-swing/src/main/java/groovy/model/ValueHolder.java
+++ b/subprojects/groovy-swing/src/main/java/groovy/model/ValueHolder.java
@@ -24,8 +24,6 @@ import java.beans.PropertyChangeSupport;
 /**
  * A simple ValueModel implementation which is a holder of an object value. 
  * Used to share local variables with closures
- * 
- * @author <a href="mailto:james@coredevelopers.net">James Strachan</a>
  */
 public class ValueHolder implements ValueModel {
     private Object value;
diff --git a/subprojects/groovy-swing/src/main/java/groovy/model/ValueModel.java b/subprojects/groovy-swing/src/main/java/groovy/model/ValueModel.java
index 75b6541..510fd79 100644
--- a/subprojects/groovy-swing/src/main/java/groovy/model/ValueModel.java
+++ b/subprojects/groovy-swing/src/main/java/groovy/model/ValueModel.java
@@ -20,8 +20,6 @@ package groovy.model;
 
 /**
  * Represents a model of a value
- * 
- * @author <a href="mailto:james@coredevelopers.net">James Strachan</a>
  */
 public interface ValueModel {
     Object getValue();
diff --git a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/AbstractFullBinding.java b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/AbstractFullBinding.java
index d96d25f..d361793 100644
--- a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/AbstractFullBinding.java
+++ b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/AbstractFullBinding.java
@@ -21,7 +21,6 @@ package org.codehaus.groovy.binding;
 import groovy.lang.Closure;
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.1
  */
 public abstract class AbstractFullBinding  implements FullBinding {
diff --git a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/AggregateBinding.java b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/AggregateBinding.java
index 8981f42..c27726d 100644
--- a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/AggregateBinding.java
+++ b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/AggregateBinding.java
@@ -23,7 +23,7 @@ import java.util.Set;
 
 /**
  * An aggregation of multiple bindings
- * @author Danno Ferrin
+ *
  * @since Groovy 1.6
  */
 public class AggregateBinding implements BindingUpdatable {
diff --git a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/BindingProxy.java b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/BindingProxy.java
index 1c7798b..a687eba 100644
--- a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/BindingProxy.java
+++ b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/BindingProxy.java
@@ -35,7 +35,6 @@ import java.util.Map;
  *
  * Formerly Known as Model Binding.
  *
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.5
  */
 public class BindingProxy extends GroovyObjectSupport implements BindingUpdatable {
diff --git a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/BindingUpdatable.java b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/BindingUpdatable.java
index 2fa8f0e..d4b6b16 100644
--- a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/BindingUpdatable.java
+++ b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/BindingUpdatable.java
@@ -19,7 +19,6 @@
 package org.codehaus.groovy.binding;
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.1
  */
 public interface BindingUpdatable {
diff --git a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/ClosureSourceBinding.java b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/ClosureSourceBinding.java
index b2b85b9..22f422b 100644
--- a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/ClosureSourceBinding.java
+++ b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/ClosureSourceBinding.java
@@ -21,7 +21,6 @@ package org.codehaus.groovy.binding;
 import groovy.lang.Closure;
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.1
  */
 public class ClosureSourceBinding implements SourceBinding {
diff --git a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/EventTriggerBinding.java b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/EventTriggerBinding.java
index 804e814..844c617 100644
--- a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/EventTriggerBinding.java
+++ b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/EventTriggerBinding.java
@@ -22,7 +22,6 @@ import groovy.lang.Closure;
 import org.codehaus.groovy.runtime.InvokerHelper;
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.1
  */
 public class EventTriggerBinding implements TriggerBinding {
diff --git a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/FullBinding.java b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/FullBinding.java
index fd78bc3..77375c4 100644
--- a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/FullBinding.java
+++ b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/FullBinding.java
@@ -21,7 +21,6 @@ package org.codehaus.groovy.binding;
 import groovy.lang.Closure;
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.1
  */
 public interface FullBinding extends BindingUpdatable {
diff --git a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/MutualPropertyBinding.java b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/MutualPropertyBinding.java
index 86e71f7..a11de2b 100644
--- a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/MutualPropertyBinding.java
+++ b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/MutualPropertyBinding.java
@@ -21,7 +21,6 @@ package org.codehaus.groovy.binding;
 import groovy.lang.Closure;
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.6
  */
 
diff --git a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/PropertyBinding.java b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/PropertyBinding.java
index 09fdbcf..c577872 100644
--- a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/PropertyBinding.java
+++ b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/PropertyBinding.java
@@ -46,8 +46,6 @@ import java.util.logging.Logger;
 
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
- * @author Andres Almiray
  * @since Groovy 1.1
  */
 public class PropertyBinding implements SourceBinding, TargetBinding, TriggerBinding {
diff --git a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/SourceBinding.java b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/SourceBinding.java
index af4cb99..9ed635c 100644
--- a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/SourceBinding.java
+++ b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/SourceBinding.java
@@ -19,7 +19,6 @@
 package org.codehaus.groovy.binding;
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.1
  */
 public interface SourceBinding {
diff --git a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/SwingTimerTriggerBinding.java b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/SwingTimerTriggerBinding.java
index a289a06..26ad72a 100644
--- a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/SwingTimerTriggerBinding.java
+++ b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/SwingTimerTriggerBinding.java
@@ -23,7 +23,6 @@ import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.1
  */
 public class SwingTimerTriggerBinding implements TriggerBinding {
@@ -33,7 +32,6 @@ public class SwingTimerTriggerBinding implements TriggerBinding {
 }
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.1
  */
 class SwingTimerFullBinding extends AbstractFullBinding implements ActionListener {
diff --git a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/TargetBinding.java b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/TargetBinding.java
index 06912a4..6fba010 100644
--- a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/TargetBinding.java
+++ b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/TargetBinding.java
@@ -19,7 +19,6 @@
 package org.codehaus.groovy.binding;
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.1
  */
 public interface TargetBinding {
diff --git a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/TriggerBinding.java b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/TriggerBinding.java
index ed36033..f41a075 100644
--- a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/TriggerBinding.java
+++ b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/TriggerBinding.java
@@ -19,7 +19,6 @@
 package org.codehaus.groovy.binding;
 
 /**
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  * @since Groovy 1.1
  */
 public interface TriggerBinding {
diff --git a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/runtime/SwingGroovyMethods.java b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/runtime/SwingGroovyMethods.java
index 353faa8..e0aa6bf 100644
--- a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/runtime/SwingGroovyMethods.java
+++ b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/runtime/SwingGroovyMethods.java
@@ -38,8 +38,6 @@ import java.util.Iterator;
  * This class defines all the new Swing-related groovy methods which enhance
  * the normal JDK Swing classes when inside the Groovy environment.
  * Static methods are used with the first parameter the destination class.
- *
- * @author Andres Almiray
  */
 public class SwingGroovyMethods {
 
diff --git a/subprojects/groovy-swing/src/test/groovy/groovy/beans/BindableSwingTest.groovy b/subprojects/groovy-swing/src/test/groovy/groovy/beans/BindableSwingTest.groovy
index f17a37b..4c1e89f 100644
--- a/subprojects/groovy-swing/src/test/groovy/groovy/beans/BindableSwingTest.groovy
+++ b/subprojects/groovy-swing/src/test/groovy/groovy/beans/BindableSwingTest.groovy
@@ -18,9 +18,6 @@
  */
 package groovy.beans
 
-/**
- * @author Danno Ferrin (shemnon)
- */
 class BindableSwingTest extends GroovySwingTestCase {
     public void testExtendsComponent() {
         testInEDT {
diff --git a/subprojects/groovy-swing/src/test/groovy/groovy/beans/VetoableSwingTest.groovy b/subprojects/groovy-swing/src/test/groovy/groovy/beans/VetoableSwingTest.groovy
index 620fa48..7163265 100644
--- a/subprojects/groovy-swing/src/test/groovy/groovy/beans/VetoableSwingTest.groovy
+++ b/subprojects/groovy-swing/src/test/groovy/groovy/beans/VetoableSwingTest.groovy
@@ -18,9 +18,6 @@
  */
 package groovy.beans
 
-/**
- * @author Danno Ferrin (shemnon)
- */
 class VetoableSwingTest extends GroovySwingTestCase {
     public void testExtendsComponent() {
         testInEDT {
diff --git a/subprojects/groovy-swing/src/test/groovy/groovy/bugs/Groovy303_Bug.groovy b/subprojects/groovy-swing/src/test/groovy/groovy/bugs/Groovy303_Bug.groovy
index 2746c7b..b7877ad 100644
--- a/subprojects/groovy-swing/src/test/groovy/groovy/bugs/Groovy303_Bug.groovy
+++ b/subprojects/groovy-swing/src/test/groovy/groovy/bugs/Groovy303_Bug.groovy
@@ -22,10 +22,6 @@ import java.awt.*
 import java.awt.event.*
 import javax.swing.*
 
-/**
- * @author Bing Ran
- * @author Andy Dwelly
- */
 class Groovy303_Bug extends GroovySwingTestCase {
     void testBug() {
       testInEDT {
@@ -52,7 +48,7 @@ class Scholastic implements ActionListener {
         button.doClick()
     }
 
-    public void actionPerformed(ActionEvent event) {
+    void actionPerformed(ActionEvent event) {
         println "hello"
     }
 }
diff --git a/subprojects/groovy-swing/src/test/groovy/groovy/swing/SwingMetaMethodsTest.groovy b/subprojects/groovy-swing/src/test/groovy/groovy/swing/SwingMetaMethodsTest.groovy
index 7cac27b..54d98f4 100644
--- a/subprojects/groovy-swing/src/test/groovy/groovy/swing/SwingMetaMethodsTest.groovy
+++ b/subprojects/groovy-swing/src/test/groovy/groovy/swing/SwingMetaMethodsTest.groovy
@@ -22,10 +22,6 @@ import javax.swing.*
 import javax.swing.table.*
 import javax.swing.tree.*
 
-/**
- *
- * @author Andres.Almiray
- */
 class SwingMetaMethodsTest extends GroovySwingTestCase {
     void testContainer() {
         testInEDT {
diff --git a/subprojects/groovy-swing/src/test/groovy/org/codehaus/groovy/runtime/DummyBean.java b/subprojects/groovy-swing/src/test/groovy/org/codehaus/groovy/runtime/DummyBean.java
index 7adb123..80a72f8 100644
--- a/subprojects/groovy-swing/src/test/groovy/org/codehaus/groovy/runtime/DummyBean.java
+++ b/subprojects/groovy-swing/src/test/groovy/org/codehaus/groovy/runtime/DummyBean.java
@@ -26,9 +26,6 @@ import java.util.Map;
 
 /**
  * A bean used by the test cases
- *
- * @author <a href="mailto:james@coredevelopers.net">James Strachan</a>
- * @author <a href="mailto:shemnon@yahoo.com">Danno Ferrin</a>
  */
 public class DummyBean {
     private String name = "James";
diff --git a/subprojects/groovy-templates/src/main/groovy/groovy/text/SimpleTemplateEngine.java b/subprojects/groovy-templates/src/main/groovy/groovy/text/SimpleTemplateEngine.java
index 1893bd1..801874c 100644
--- a/subprojects/groovy-templates/src/main/groovy/groovy/text/SimpleTemplateEngine.java
+++ b/subprojects/groovy-templates/src/main/groovy/groovy/text/SimpleTemplateEngine.java
@@ -88,11 +88,6 @@ import java.util.Map;
  * &lt;/servlet&gt;
  * </pre>
  * In this case, your template source file should be HTML with the appropriate embedded placeholders.
- *
- * @author sam
- * @author Christian Stein
- * @author Paul King
- * @author Alex Tkachman
  */
 public class SimpleTemplateEngine extends TemplateEngine {
     private boolean verbose;
diff --git a/subprojects/groovy-templates/src/main/groovy/groovy/text/StreamingTemplateEngine.java b/subprojects/groovy-templates/src/main/groovy/groovy/text/StreamingTemplateEngine.java
index 23745cd..a902404 100644
--- a/subprojects/groovy-templates/src/main/groovy/groovy/text/StreamingTemplateEngine.java
+++ b/subprojects/groovy-templates/src/main/groovy/groovy/text/StreamingTemplateEngine.java
@@ -142,9 +142,6 @@ import java.util.Map;
  * </pre>
  * In the above example.
  * </p>
- *
- * @author mbjarland@gmail.com
- * @author Matias Bjarland
  */
 public class StreamingTemplateEngine extends TemplateEngine {
     private static final String TEMPLATE_SCRIPT_PREFIX = "StreamingTemplateScript";
diff --git a/subprojects/groovy-templates/src/main/groovy/groovy/text/Template.java b/subprojects/groovy-templates/src/main/groovy/groovy/text/Template.java
index 1bbfcee..00c5508 100644
--- a/subprojects/groovy-templates/src/main/groovy/groovy/text/Template.java
+++ b/subprojects/groovy-templates/src/main/groovy/groovy/text/Template.java
@@ -25,8 +25,6 @@ import java.util.Map;
 
 /**
  * A template is a block of text with an associated binding that can be output to a writer or evaluated to a string.
- * 
- * @author sam
  */
 public interface Template {
     Writable make();
diff --git a/subprojects/groovy-templates/src/main/groovy/groovy/text/TemplateEngine.java b/subprojects/groovy-templates/src/main/groovy/groovy/text/TemplateEngine.java
index 4761e83..f2282c5 100644
--- a/subprojects/groovy-templates/src/main/groovy/groovy/text/TemplateEngine.java
+++ b/subprojects/groovy-templates/src/main/groovy/groovy/text/TemplateEngine.java
@@ -31,8 +31,6 @@ import java.net.URL;
 
 /**
  * Represents an API to any template engine which is basically a factory of Template instances from a given text input.
- * 
- * @author sam
  */
 public abstract class TemplateEngine {
     public abstract Template createTemplate(Reader reader) throws CompilationFailedException, ClassNotFoundException, IOException;
diff --git a/subprojects/groovy-templates/src/main/groovy/groovy/text/XmlTemplateEngine.java b/subprojects/groovy-templates/src/main/groovy/groovy/text/XmlTemplateEngine.java
index e463770..27e2599 100644
--- a/subprojects/groovy-templates/src/main/groovy/groovy/text/XmlTemplateEngine.java
+++ b/subprojects/groovy-templates/src/main/groovy/groovy/text/XmlTemplateEngine.java
@@ -101,9 +101,6 @@ import java.util.Map;
  *   &lt;/init-param&gt;
  * &lt;/servlet&gt;
  * </pre>
- *
- * @author Christian Stein
- * @author Paul King
  */
 public class XmlTemplateEngine extends TemplateEngine {
 
diff --git a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/AutoNewLineTransformer.java b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/AutoNewLineTransformer.java
index 8662743..e06f6ab 100644
--- a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/AutoNewLineTransformer.java
+++ b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/AutoNewLineTransformer.java
@@ -38,8 +38,6 @@ import java.util.List;
 /**
  * This transformer is responsible for adding calls to the <i>newLine</i> method
  * depending on the layout of the source code, inside builder like blocks.
- *
- * @author Cedric Champeau
  */
 class AutoNewLineTransformer extends ClassCodeVisitorSupport {
     private final SourceUnit unit;
diff --git a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/BaseTemplate.java b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/BaseTemplate.java
index 0ceaccc..fc58fc8 100644
--- a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/BaseTemplate.java
+++ b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/BaseTemplate.java
@@ -49,8 +49,6 @@ import static groovy.xml.XmlUtil.escapeXml;
  * <p>For the application needs, it is possible to provide more helper methods by extending this class and
  * configuring the base template class using the {@link groovy.text.markup.TemplateConfiguration#setBaseTemplateClass(Class)}
  * method.</p>
- *
- * @author Cedric Champeau
  */
 public abstract class BaseTemplate implements Writable {
     private static final Map EMPTY_MODEL = Collections.emptyMap();
diff --git a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/DelegatingIndentWriter.java b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/DelegatingIndentWriter.java
index ee2f98f..9ab1aad 100644
--- a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/DelegatingIndentWriter.java
+++ b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/DelegatingIndentWriter.java
@@ -22,10 +22,7 @@ import java.io.IOException;
 import java.io.Writer;
 
 /**
- * A writer which delegates to another writer and supports an
- * additional indenting level.
- *
- * @author Cedric Champeau
+ * A writer which delegates to another writer and supports an additional indenting level.
  */
 public class DelegatingIndentWriter extends Writer {
     public static final String SPACES = "    ";
diff --git a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/IncludeType.java b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/IncludeType.java
index 825ef69..970b5dd 100644
--- a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/IncludeType.java
+++ b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/IncludeType.java
@@ -19,10 +19,7 @@
 package groovy.text.markup;
 
 /**
- * An enumeration used internally to map include types to {@link groovy.text.markup.BaseTemplate} method
- * calls.
- *
- * @author Cedric Champeau
+ * An enumeration used internally to map include types to {@link groovy.text.markup.BaseTemplate} method calls.
  */
 enum IncludeType {
     template("includeGroovy"), // includes another Groovy template
diff --git a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/MarkupBuilderCodeTransformer.java b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/MarkupBuilderCodeTransformer.java
index 87e67e1..97faaeb 100644
--- a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/MarkupBuilderCodeTransformer.java
+++ b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/MarkupBuilderCodeTransformer.java
@@ -58,8 +58,6 @@ import java.util.Map;
  * <i>getModel().get(...)</i> calls into <i>tryEscape</i> calls for automatic escaping</li> <li>replace <i>include
  * XXX:'...'</i> calls with the appropriate <i>includeXXXX</i> method calls</li> <li>replace <i>':tagName'()</i> calls
  * into <i>methodMissing('tagName', ...)</i> calls</li> </ul>
- *
- * @author Cedric Champeau
  */
 class MarkupBuilderCodeTransformer extends ClassCodeExpressionTransformer {
 
diff --git a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/MarkupTemplateEngine.java b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/MarkupTemplateEngine.java
index d9118f5..439e1ac 100644
--- a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/MarkupTemplateEngine.java
+++ b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/MarkupTemplateEngine.java
@@ -55,8 +55,6 @@ import java.util.regex.Pattern;
 
 /**
  * A template engine which leverages {@link groovy.xml.StreamingMarkupBuilder} to generate XML/XHTML.
- *
- * @author Cedric Champeau
  */
 public class MarkupTemplateEngine extends TemplateEngine {
 
diff --git a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/MarkupTemplateTypeCheckingExtension.groovy b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/MarkupTemplateTypeCheckingExtension.groovy
index 0d4acec..9d91fcf 100644
--- a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/MarkupTemplateTypeCheckingExtension.groovy
+++ b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/MarkupTemplateTypeCheckingExtension.groovy
@@ -59,8 +59,6 @@ import static org.codehaus.groovy.transform.stc.StaticTypeCheckingSupport.isAssi
  * calls into direct calls to {@link BaseTemplate#methodMissing(java.lang.String, java.lang.Object)}
  * for faster rendering.</p>
  * <p>This extension also supports optional type checking of the model</p>
- *
- * @author Cedric Champeau
  */
 class MarkupTemplateTypeCheckingExtension extends GroovyTypeCheckingExtensionSupport.TypeCheckingDSL {
 
diff --git a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/TagLibAdapter.groovy b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/TagLibAdapter.groovy
index 0c0044e..9c69b7d 100644
--- a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/TagLibAdapter.groovy
+++ b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/TagLibAdapter.groovy
@@ -46,8 +46,6 @@ package groovy.text.markup
  *
  * Performance-wise, it would be better to reimplement the taglib, but this makes it easier to reuse
  * existing code.
- *
- * @author Cédric Champeau
  */
 class TagLibAdapter {
     private final BaseTemplate template
diff --git a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/TemplateASTTransformer.java b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/TemplateASTTransformer.java
index effb0ed8..1d21352 100644
--- a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/TemplateASTTransformer.java
+++ b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/TemplateASTTransformer.java
@@ -50,8 +50,6 @@ import java.util.List;
  *     <li>Calls the {@link groovy.text.markup.MarkupBuilderCodeTransformer} on the "run" method</li>
  *     <li>Creates the appropriate constructor</li>
  * </ul>
- *
- * @author Cedric Champeau
  */
 class TemplateASTTransformer extends CompilationCustomizer {
 
diff --git a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/TemplateConfiguration.java b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/TemplateConfiguration.java
index 2dc5c2c..282bdbe 100644
--- a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/TemplateConfiguration.java
+++ b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/TemplateConfiguration.java
@@ -22,8 +22,6 @@ import java.util.Locale;
 
 /**
  * Configuration options for the {@link groovy.text.markup.MarkupTemplateEngine markup template engine}.
- *
- * @author Cedric Champeau
  */
 public class TemplateConfiguration {
 
diff --git a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/TemplateResolver.java b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/TemplateResolver.java
index db2b345..4dac742 100644
--- a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/TemplateResolver.java
+++ b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/TemplateResolver.java
@@ -24,8 +24,6 @@ import java.net.URL;
 /**
  * Interface for template resolvers, which, given a template identifier, return an URL where the template
  * can be loaded.
- *
- * @author Cédric Champeau
  */
 public interface TemplateResolver {
     /**
diff --git a/subprojects/groovy-templates/src/test/groovy/groovy/SimpleGStringTemplateEngineTest.groovy b/subprojects/groovy-templates/src/test/groovy/groovy/SimpleGStringTemplateEngineTest.groovy
index 47b545f..9f97b3c 100644
--- a/subprojects/groovy-templates/src/test/groovy/groovy/SimpleGStringTemplateEngineTest.groovy
+++ b/subprojects/groovy-templates/src/test/groovy/groovy/SimpleGStringTemplateEngineTest.groovy
@@ -16,49 +16,41 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package groovy;
+package groovy
 
-import groovy.text.Template;
-import groovy.text.GStringTemplateEngine;
+import groovy.text.GStringTemplateEngine
+import groovy.text.Template
 
-/**
- * @author andy
- * @since Jan 11, 2006 1:05:23 PM
- */
-public class SimpleGStringTemplateEngineTest extends GroovyTestCase
-{
-  void testRegressionCommentBug()
-  {
-    final Template template = new GStringTemplateEngine().createTemplate(
-        "<% // This is a comment that will be filtered from output %>\n" +
-        "Hello World!"
-    );
+class SimpleGStringTemplateEngineTest extends GroovyTestCase {
+    void testRegressionCommentBug() {
+        final Template template = new GStringTemplateEngine().createTemplate(
+                "<% // This is a comment that will be filtered from output %>\n" +
+                        "Hello World!"
+        )
 
-    final StringWriter sw = new StringWriter();
-    template.make().writeTo(sw);
-    assertEquals("\nHello World!", sw.toString());
-  }
+        final StringWriter sw = new StringWriter()
+        template.make().writeTo(sw)
+        assertEquals("\nHello World!", sw.toString())
+    }
 
     void testShouldNotShareBinding() {
-        String text = "<% println delegate.books; books = books.split(\",\"); out << books %>";
+        String text = "<% println delegate.books; books = books.split(\",\"); out << books %>"
 
-        StringWriter sw = new StringWriter();
-        GStringTemplateEngine engine = new GStringTemplateEngine();
+        StringWriter sw = new StringWriter()
+        GStringTemplateEngine engine = new GStringTemplateEngine()
 
-        Template template = engine.createTemplate(text);
+        Template template = engine.createTemplate(text)
 
         Map data = [books: 'a,b,c,d']
 
-
-        // round one sucess
-        template.make(data).writeTo(sw);
+        // round one success
+        template.make(data).writeTo(sw)
         assert sw.toString() == '[a, b, c, d]'
 
-        sw = new StringWriter();
+        sw = new StringWriter()
         // round two fails
         data = [books: 'e,f,g,h']
-        template.make(data).writeTo(sw);
+        template.make(data).writeTo(sw)
         assert sw.toString() == '[e, f, g, h]'
-
     }
 }
diff --git a/subprojects/groovy-templates/src/test/groovy/groovy/SimpleTemplateEngineTest.groovy b/subprojects/groovy-templates/src/test/groovy/groovy/SimpleTemplateEngineTest.groovy
index 6690a2a..b0ba0c3 100644
--- a/subprojects/groovy-templates/src/test/groovy/groovy/SimpleTemplateEngineTest.groovy
+++ b/subprojects/groovy-templates/src/test/groovy/groovy/SimpleTemplateEngineTest.groovy
@@ -18,9 +18,6 @@
  */
 package groovy
 
-/**
- * @author Jochen "blackdrag" Theodorou
- */
 class SimpleTemplateEngineTest extends GroovyTestCase {
 
     void testBindingWithDefault() {
diff --git a/subprojects/groovy-templates/src/test/java/groovy/text/TemplateTest.java b/subprojects/groovy-templates/src/test/java/groovy/text/TemplateTest.java
index 8652411..b4938d6 100644
--- a/subprojects/groovy-templates/src/test/java/groovy/text/TemplateTest.java
+++ b/subprojects/groovy-templates/src/test/java/groovy/text/TemplateTest.java
@@ -25,9 +25,6 @@ import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 
-/**
- * @author sam
- */
 public class TemplateTest extends TestCase {
 
     public void testMixedTemplateText() throws CompilationFailedException, ClassNotFoundException, IOException {