diff --git a/src/test/java/org/apache/commons/digester3/DigesterTestCase.java b/src/test/java/org/apache/commons/digester3/DigesterTestCase.java
index e346c3e..6228110 100644
--- a/src/test/java/org/apache/commons/digester3/DigesterTestCase.java
+++ b/src/test/java/org/apache/commons/digester3/DigesterTestCase.java
@@ -55,11 +55,9 @@
  * Test Case for the Digester class. These tests exercise the individual methods of a Digester, but do not attempt to
  * process complete documents.
  * </p>
- * 
+ *
  * @author Craig R. McClanahan
- * @version $Revision$ $Date$
  */
-
 public class DigesterTestCase
 {
 
diff --git a/src/test/java/org/apache/commons/digester3/ExtendedBaseRulesTestCase.java b/src/test/java/org/apache/commons/digester3/ExtendedBaseRulesTestCase.java
index d3dbbdd..70d6929 100644
--- a/src/test/java/org/apache/commons/digester3/ExtendedBaseRulesTestCase.java
+++ b/src/test/java/org/apache/commons/digester3/ExtendedBaseRulesTestCase.java
@@ -31,11 +31,9 @@
 /**
  * <p>
  * Runs standard tests for RulesBase as well as tests of extensions.
- * 
+ *
  * @author Robert Burrell Donkin <robertdonkin@mac.com>
- * @version $Revision$ $Date$
  */
-
 public class ExtendedBaseRulesTestCase
     extends RulesBaseTestCase
 {
@@ -45,7 +43,7 @@
     /**
      * <p>
      * This should be overriden by subclasses.
-     * 
+     *
      * @return the matching rules to be tested.
      */
     @Override
diff --git a/src/test/java/org/apache/commons/digester3/NamedBean.java b/src/test/java/org/apache/commons/digester3/NamedBean.java
index 12b15b2..73216fc 100644
--- a/src/test/java/org/apache/commons/digester3/NamedBean.java
+++ b/src/test/java/org/apache/commons/digester3/NamedBean.java
@@ -20,11 +20,9 @@
 
 /**
  * Very simple test bean
- * 
+ *
  * @author Robert Burrell Donkin
- * @version $Revision$ $Date$
  */
-
 public class NamedBean
 {
 
diff --git a/src/test/java/org/apache/commons/digester3/NodeCreateRuleTestCase.java b/src/test/java/org/apache/commons/digester3/NodeCreateRuleTestCase.java
index 9957d97..8ad655f 100644
--- a/src/test/java/org/apache/commons/digester3/NodeCreateRuleTestCase.java
+++ b/src/test/java/org/apache/commons/digester3/NodeCreateRuleTestCase.java
@@ -47,11 +47,9 @@
 /**
  * <p>
  * Test case for the <code>NodeCreateRule</code>.
- * 
+ *
  * @author Christopher Lenz
- * @version $Revision$ $Date$
  */
-
 public class NodeCreateRuleTestCase
 {
 
@@ -530,7 +528,7 @@
 
     /**
      * Return an appropriate InputStream for the specified test file (which must be inside our current package.
-     * 
+     *
      * @param name Name of the test file we want
      * @exception IOException if an input/output error occurs
      */
diff --git a/src/test/java/org/apache/commons/digester3/RegexRulesTestCase.java b/src/test/java/org/apache/commons/digester3/RegexRulesTestCase.java
index 6b5f29b..8df6317 100644
--- a/src/test/java/org/apache/commons/digester3/RegexRulesTestCase.java
+++ b/src/test/java/org/apache/commons/digester3/RegexRulesTestCase.java
@@ -30,11 +30,9 @@
 
 /**
  * Test case for RegexRules
- * 
+ *
  * @author Robert Burrell Donkin
- * @version $Revision$ $Date$
  */
-
 public class RegexRulesTestCase
 {
 
diff --git a/src/test/java/org/apache/commons/digester3/RuleTestCase.java b/src/test/java/org/apache/commons/digester3/RuleTestCase.java
index bb5e5b2..72619af 100644
--- a/src/test/java/org/apache/commons/digester3/RuleTestCase.java
+++ b/src/test/java/org/apache/commons/digester3/RuleTestCase.java
@@ -40,12 +40,10 @@
  * <p>
  * Test Case for the Digester class. These tests perform parsing of XML documents to exercise the built-in rules.
  * </p>
- * 
+ *
  * @author Craig R. McClanahan
  * @author Janek Bogucki
- * @version $Revision$ $Date$
  */
-
 public class RuleTestCase
 {
 
@@ -527,7 +525,7 @@
 
     /**
      * Return an appropriate InputStream for the specified test file (which must be inside our current package.
-     * 
+     *
      * @param name Name of the test file we want
      * @exception IOException if an input/output error occurs
      */
@@ -541,7 +539,7 @@
 
     /**
      * Validate the assertions for ObjectCreateRule3.
-     * 
+     *
      * @param root Root object returned by <code>digester.parse()</code>
      */
     protected void validateObjectCreate3( Object root )
diff --git a/src/test/java/org/apache/commons/digester3/RulesBaseTestCase.java b/src/test/java/org/apache/commons/digester3/RulesBaseTestCase.java
index 4667fd6..115defc 100644
--- a/src/test/java/org/apache/commons/digester3/RulesBaseTestCase.java
+++ b/src/test/java/org/apache/commons/digester3/RulesBaseTestCase.java
@@ -36,11 +36,9 @@
  * Test Case for the RulesBase matching rules. Most of this material was original contained in the digester test case
  * but was moved into this class so that extensions of the basic matching rules behaviour can extend this test case.
  * </p>
- * 
+ *
  * @author Craig R. McClanahan
- * @version $Revision$ $Date$
  */
-
 public class RulesBaseTestCase
 {
 
@@ -68,7 +66,7 @@
     /**
      * <p>
      * This should be overriden by subclasses.
-     * 
+     *
      * @return the matching rules to be tested.
      */
     protected Rules createMatchingRulesForTest()
diff --git a/src/test/java/org/apache/commons/digester3/TestBean.java b/src/test/java/org/apache/commons/digester3/TestBean.java
index 0110d83..bc16a27 100644
--- a/src/test/java/org/apache/commons/digester3/TestBean.java
+++ b/src/test/java/org/apache/commons/digester3/TestBean.java
@@ -25,9 +25,7 @@
  * General purpose test bean for Digester tests.
  *
  * @author Craig R. McClanahan
- * @version $Revision$ $Date$
  */
-
 public class TestBean
 {
 
diff --git a/src/test/java/org/apache/commons/digester3/TestEntityResolution.java b/src/test/java/org/apache/commons/digester3/TestEntityResolution.java
index 6088c43..222fd60 100644
--- a/src/test/java/org/apache/commons/digester3/TestEntityResolution.java
+++ b/src/test/java/org/apache/commons/digester3/TestEntityResolution.java
@@ -28,9 +28,8 @@
 
 /**
  * Tests for entity resolution.
- * 
+ *
  * @author <a href='http://commons.apache.org/'>Apache Commons Team</a>
- * @version $Revision$
  */
 public class TestEntityResolution
 {
diff --git a/src/test/java/org/apache/commons/digester3/TestRuleSet.java b/src/test/java/org/apache/commons/digester3/TestRuleSet.java
index f39c865..32f5cda 100644
--- a/src/test/java/org/apache/commons/digester3/TestRuleSet.java
+++ b/src/test/java/org/apache/commons/digester3/TestRuleSet.java
@@ -24,11 +24,9 @@
 /**
  * RuleSet that mimics the rules set used for Employee and Address creation, optionally associated with a particular
  * namespace URI.
- * 
+ *
  * @author Craig R. McClanahan
- * @version $Revision$ $Date$
  */
-
 public class TestRuleSet
     extends RuleSetBase
 {
@@ -47,7 +45,7 @@
 
     /**
      * Construct an instance of this RuleSet associated with the specified prefix, associated with no namespace URI.
-     * 
+     *
      * @param prefix Matching pattern prefix (must end with '/') or null.
      */
     public TestRuleSet( String prefix )
@@ -59,7 +57,7 @@
 
     /**
      * Construct an instance of this RuleSet associated with the specified prefix and namespace URI.
-     * 
+     *
      * @param prefix Matching pattern prefix (must end with '/') or null.
      * @param namespaceURI The namespace URI these rules belong to
      */
diff --git a/src/test/java/org/apache/commons/digester3/WithDefaultsRulesWrapperTestCase.java b/src/test/java/org/apache/commons/digester3/WithDefaultsRulesWrapperTestCase.java
index 87b75c6..754bac0 100644
--- a/src/test/java/org/apache/commons/digester3/WithDefaultsRulesWrapperTestCase.java
+++ b/src/test/java/org/apache/commons/digester3/WithDefaultsRulesWrapperTestCase.java
@@ -30,11 +30,9 @@
 
 /**
  * Test case for WithDefaultsRulesWrapper
- * 
+ *
  * @author Robert Burrell Donkin
- * @version $Revision$ $Date$
  */
-
 public class WithDefaultsRulesWrapperTestCase
 {
 
diff --git a/src/test/java/org/apache/commons/digester3/substitution/VariableExpansionTestCase.java b/src/test/java/org/apache/commons/digester3/substitution/VariableExpansionTestCase.java
index 7629f9f..bd482f3 100644
--- a/src/test/java/org/apache/commons/digester3/substitution/VariableExpansionTestCase.java
+++ b/src/test/java/org/apache/commons/digester3/substitution/VariableExpansionTestCase.java
@@ -36,11 +36,9 @@
 /**
  * <p>
  * Test Case for the variable expansion facility in Digester.
- * 
+ *
  * @author Simon Kitching
- * @version $Revision$ $Date$
  */
-
 public class VariableExpansionTestCase
 {
 
@@ -69,7 +67,7 @@
 
     /**
      * Creates a Digester configured to show Ant-like capability.
-     * 
+     *
      * @return a Digester with rules and variable substitutor
      */
     private Digester createDigesterThatCanDoAnt()
@@ -278,7 +276,7 @@
      * property could be expanded via a variable used either in an attribute or in body text. This test shows that if
      * properties were also set while processing a document, you could still perform variable expansion (i.e. just like
      * using the "property" task in Ant).
-     * 
+     *
      * @throws IOException
      * @throws SAXException
      */
@@ -305,7 +303,7 @@
      * be expanded within a property element. This is thus effectively a "closure" test, since it shows that the
      * mechanism used to bind properties is also capable of having property values that are driven by property
      * variables.
-     * 
+     *
      * @throws IOException
      * @throws SAXException
      */
