diff --git a/src/main/java/org/apache/commons/digester3/Digester.java b/src/main/java/org/apache/commons/digester3/Digester.java
index a983756..3858884 100644
--- a/src/main/java/org/apache/commons/digester3/Digester.java
+++ b/src/main/java/org/apache/commons/digester3/Digester.java
@@ -904,7 +904,7 @@
      *
      * @return the callback object which is invoked whenever an object is pushed onto a digester object stack,
      *         or popped off one.
-     * @see #setStackAction(StackAction).
+     * @see #setStackAction(StackAction)
      * @since 1.8
      */
     public StackAction getStackAction()
diff --git a/src/main/java/org/apache/commons/digester3/SetNestedPropertiesRule.java b/src/main/java/org/apache/commons/digester3/SetNestedPropertiesRule.java
index 107c711..cafc0cf 100644
--- a/src/main/java/org/apache/commons/digester3/SetNestedPropertiesRule.java
+++ b/src/main/java/org/apache/commons/digester3/SetNestedPropertiesRule.java
@@ -264,7 +264,7 @@
      * Return the flag to ignore any child element for which there is no corresponding object property
      *
      * @return flag to ignore any child element for which there is no corresponding object property
-     * @see #setAllowUnknownChildElements(boolean).
+     * @see #setAllowUnknownChildElements(boolean)
      */
     public boolean getAllowUnknownChildElements()
     {
diff --git a/src/main/java/org/apache/commons/digester3/xmlrules/AbstractXmlMethodRule.java b/src/main/java/org/apache/commons/digester3/xmlrules/AbstractXmlMethodRule.java
index 4a1a965..2a5dec6 100644
--- a/src/main/java/org/apache/commons/digester3/xmlrules/AbstractXmlMethodRule.java
+++ b/src/main/java/org/apache/commons/digester3/xmlrules/AbstractXmlMethodRule.java
@@ -52,7 +52,6 @@
 
     /**
      * @param methodName
-     * @return
      */
     protected abstract void bindRule( LinkedRuleBuilder linkedRuleBuilder, String methodName, String paramType,
                                       boolean exactMatch, boolean fireOnBegin );
diff --git a/src/main/java/org/apache/commons/digester3/xmlrules/PatternStack.java b/src/main/java/org/apache/commons/digester3/xmlrules/PatternStack.java
index 7f0ac19..b6d5abe 100644
--- a/src/main/java/org/apache/commons/digester3/xmlrules/PatternStack.java
+++ b/src/main/java/org/apache/commons/digester3/xmlrules/PatternStack.java
@@ -22,7 +22,6 @@
 import java.util.Stack;
 
 /**
- * @param <E>
  */
 final class PatternStack
     extends Stack<String>
diff --git a/src/test/java/org/apache/commons/digester3/substitution/CompoundSubstitutorTestCase.java b/src/test/java/org/apache/commons/digester3/substitution/CompoundSubstitutorTestCase.java
index 21f526d..3a46fb0 100644
--- a/src/test/java/org/apache/commons/digester3/substitution/CompoundSubstitutorTestCase.java
+++ b/src/test/java/org/apache/commons/digester3/substitution/CompoundSubstitutorTestCase.java
@@ -57,7 +57,7 @@
         }
 
         /**
-         * @see org.apache.commons.digester.Substitutor#substitute(org.xml.sax.Attributes)
+         * @see org.apache.commons.digester3.Substitutor#substitute(org.xml.sax.Attributes)
          */
         @Override
         public Attributes substitute( Attributes attributes )
@@ -68,7 +68,7 @@
         }
 
         /**
-         * @see org.apache.commons.digester.Substitutor#substitute(java.lang.String)
+         * @see org.apache.commons.digester3.Substitutor#substitute(java.lang.String)
          */
         @Override
         public String substitute( String bodyText )
