From 7c2e97cc5263cc2e2f057e4f7b72841ae112613d Mon Sep 17 00:00:00 2001
From: "Travis CI (pmd-bot)"
doTest
Signature<N>
diff --git a/pmd_devdocs_roadmap.html b/pmd_devdocs_roadmap.html
index c669cbdb69..4b51aafcdc 100644
--- a/pmd_devdocs_roadmap.html
+++ b/pmd_devdocs_roadmap.html
@@ -1565,7 +1565,7 @@ This should be configurable on per Rule basis similar to TR and SymbolTable.
diff --git a/pmd_devdocs_rule_deprecation_policy.html b/pmd_devdocs_rule_deprecation_policy.html
index a014786334..9caab242e4 100644
--- a/pmd_devdocs_rule_deprecation_policy.html
+++ b/pmd_devdocs_rule_deprecation_policy.html
@@ -1534,7 +1534,7 @@ major release of PMD.
diff --git a/pmd_devdocs_writing_documentation.html b/pmd_devdocs_writing_documentation.html
index 356ca7db09..8bc34a0de5 100644
--- a/pmd_devdocs_writing_documentation.html
+++ b/pmd_devdocs_writing_documentation.html
@@ -1681,7 +1681,7 @@ by specifying
-Dpmd.doc.check
diff --git a/pmd_java_metrics_index.html b/pmd_java_metrics_index.html
index 43d1ca8daf..999f389f5e 100644
--- a/pmd_java_metrics_index.html
+++ b/pmd_java_metrics_index.html
@@ -1775,7 +1775,7 @@ In Proceedings ACM Symposium on Software Reusability, 1995.
diff --git a/pmd_languages_jsp.html b/pmd_languages_jsp.html
index d9baddeb25..6415aad193 100644
--- a/pmd_languages_jsp.html
+++ b/pmd_languages_jsp.html
@@ -1475,7 +1475,7 @@ contains only “.java” files, JSP files obviously will not be checked.
diff --git a/pmd_next_major_development.html b/pmd_next_major_development.html
index 76fe84d2a9..06110dde3a 100644
--- a/pmd_next_major_development.html
+++ b/pmd_next_major_development.html
@@ -2643,7 +2643,7 @@ and will be removed with PMD 7.0.0. The rule is replaced by
diff --git a/pmd_projectdocs_committers_main_landing_page.html b/pmd_projectdocs_committers_main_landing_page.html
index cfba0e21e5..8b788ea651 100644
--- a/pmd_projectdocs_committers_main_landing_page.html
+++ b/pmd_projectdocs_committers_main_landing_page.html
@@ -1514,7 +1514,7 @@ the new post is recognized and added to the news section and also on the news su
diff --git a/pmd_projectdocs_committers_merging_pull_requests.html b/pmd_projectdocs_committers_merging_pull_requests.html
index 6a358cf7cf..fb58136a9d 100644
--- a/pmd_projectdocs_committers_merging_pull_requests.html
+++ b/pmd_projectdocs_committers_merging_pull_requests.html
@@ -1593,7 +1593,7 @@ integrated (e.g. gitk and github show the branches, from which the specific comm
diff --git a/pmd_projectdocs_committers_releasing.html b/pmd_projectdocs_committers_releasing.html
index 54ad9b6a15..4fa4d7f0d6 100644
--- a/pmd_projectdocs_committers_releasing.html
+++ b/pmd_projectdocs_committers_releasing.html
@@ -1660,7 +1660,7 @@ and
mvn versions:set -DnewVer
diff --git a/pmd_projectdocs_credits.html b/pmd_projectdocs_credits.html
index d936a43280..ee03b82859 100644
--- a/pmd_projectdocs_credits.html
+++ b/pmd_projectdocs_credits.html
@@ -1936,7 +1936,7 @@ PMD scoreboard formulas, pmd-dcpd optimizations
diff --git a/pmd_projectdocs_faq.html b/pmd_projectdocs_faq.html
index 5171e14581..93008064a5 100644
--- a/pmd_projectdocs_faq.html
+++ b/pmd_projectdocs_faq.html
@@ -1469,7 +1469,7 @@ You must take this into account for certain rules.
diff --git a/pmd_projectdocs_trivia_meaning.html b/pmd_projectdocs_trivia_meaning.html
index dfb9a25853..3065820082 100644
--- a/pmd_projectdocs_trivia_meaning.html
+++ b/pmd_projectdocs_trivia_meaning.html
@@ -1438,7 +1438,7 @@ really know. We just think the letters sound good together.
diff --git a/pmd_projectdocs_trivia_news.html b/pmd_projectdocs_trivia_news.html
index a25e05f5c9..11be2246ea 100644
--- a/pmd_projectdocs_trivia_news.html
+++ b/pmd_projectdocs_trivia_news.html
@@ -1555,7 +1555,7 @@ interview with Ole-Martin and Tom
diff --git a/pmd_projectdocs_trivia_products.html b/pmd_projectdocs_trivia_products.html
index bf2fa0d68e..dede7686d8 100644
--- a/pmd_projectdocs_trivia_products.html
+++ b/pmd_projectdocs_trivia_products.html
@@ -1486,7 +1486,7 @@ to catch web app security problems. Thanks to Joseph Hemler for the props!
diff --git a/pmd_projectdocs_trivia_similarprojects.html b/pmd_projectdocs_trivia_similarprojects.html
index d19344ecad..7bff911711 100644
--- a/pmd_projectdocs_trivia_similarprojects.html
+++ b/pmd_projectdocs_trivia_similarprojects.html
@@ -1493,7 +1493,7 @@ only for maven project.
diff --git a/pmd_release_notes.html b/pmd_release_notes.html
index dad30e4297..a65288dabe 100644
--- a/pmd_release_notes.html
+++ b/pmd_release_notes.html
@@ -1526,6 +1526,7 @@ which was introduced in PMD 6.26.0.
java-performance
@@ -1612,6 +1613,7 @@ are deprecated as internal API.
#2699: [java] ProperCloneImplementation not valid for final class - Mykhailo Palahuta
#2700: [java] Fix OnlyOneReturn code example - Jan-Lukas Else
#2722: [doc] [java] ImmutableField: extend description, fixes #2108 - Mateusz Stefanski
+ #2723: [doc] [java] SimplifyStartsWith: update description and example, fixes #1868 - Mateusz Stefanski
#2725: Cleanup: change valueOf to parse when we need primitive return value. - XenoAmess
#2726: Cleanup: replace StringBuffer with StringBuilder - XenoAmess
#2727: Cleanup: replace indexOf() < 0 with contains - XenoAmess
@@ -1638,7 +1640,7 @@ are deprecated as internal API.
diff --git a/pmd_release_notes_old.html b/pmd_release_notes_old.html
index 5940d16c0e..c2da035671 100644
--- a/pmd_release_notes_old.html
+++ b/pmd_release_notes_old.html
@@ -12517,7 +12517,7 @@ Added new HTML report format
diff --git a/pmd_rules_apex.html b/pmd_rules_apex.html
index fd41852477..de7359904a 100644
--- a/pmd_rules_apex.html
+++ b/pmd_rules_apex.html
@@ -1634,7 +1634,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_apex_bestpractices.html b/pmd_rules_apex_bestpractices.html
index 81b0acdeee..7c1b39ae5d 100644
--- a/pmd_rules_apex_bestpractices.html
+++ b/pmd_rules_apex_bestpractices.html
@@ -1934,7 +1934,7 @@ Therefore delegate the triggers work to a regular class (often called Trigger ha
diff --git a/pmd_rules_apex_codestyle.html b/pmd_rules_apex_codestyle.html
index 835ac1dc91..bf483a1442 100644
--- a/pmd_rules_apex_codestyle.html
+++ b/pmd_rules_apex_codestyle.html
@@ -2507,7 +2507,7 @@ controlled from the rest.
diff --git a/pmd_rules_apex_design.html b/pmd_rules_apex_design.html
index a7d76340d5..379e5832c0 100644
--- a/pmd_rules_apex_design.html
+++ b/pmd_rules_apex_design.html
@@ -2464,7 +2464,7 @@ city/state/zip fields could park them within a single Address field.
diff --git a/pmd_rules_apex_documentation.html b/pmd_rules_apex_documentation.html
index 18cb07aaf9..14ff2ef583 100644
--- a/pmd_rules_apex_documentation.html
+++ b/pmd_rules_apex_documentation.html
@@ -1495,7 +1495,7 @@ order as the method signature.
diff --git a/pmd_rules_apex_errorprone.html b/pmd_rules_apex_errorprone.html
index 2b70b2c47b..16c6cf2a8a 100644
--- a/pmd_rules_apex_errorprone.html
+++ b/pmd_rules_apex_errorprone.html
@@ -2148,7 +2148,7 @@ dealing with legacy code.
diff --git a/pmd_rules_apex_performance.html b/pmd_rules_apex_performance.html
index d02d4355ae..b3c793bb86 100644
--- a/pmd_rules_apex_performance.html
+++ b/pmd_rules_apex_performance.html
@@ -1598,7 +1598,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_apex_security.html b/pmd_rules_apex_security.html
index a8b540c8f2..8d187dce28 100644
--- a/pmd_rules_apex_security.html
+++ b/pmd_rules_apex_security.html
@@ -2105,7 +2105,7 @@ to avoid XSS attacks.
diff --git a/pmd_rules_ecmascript.html b/pmd_rules_ecmascript.html
index 1ef53322a1..c7351a209d 100644
--- a/pmd_rules_ecmascript.html
+++ b/pmd_rules_ecmascript.html
@@ -1511,7 +1511,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_ecmascript_bestpractices.html b/pmd_rules_ecmascript_bestpractices.html
index 6eaecc8488..73ce6dd587 100644
--- a/pmd_rules_ecmascript_bestpractices.html
+++ b/pmd_rules_ecmascript_bestpractices.html
@@ -1633,7 +1633,7 @@ It also improves readability, if the base is given.
diff --git a/pmd_rules_ecmascript_codestyle.html b/pmd_rules_ecmascript_codestyle.html
index 5263c61ea2..b6215b39f4 100644
--- a/pmd_rules_ecmascript_codestyle.html
+++ b/pmd_rules_ecmascript_codestyle.html
@@ -1775,7 +1775,7 @@ will never execute. This is a bug, or extremely poor style.
diff --git a/pmd_rules_ecmascript_errorprone.html b/pmd_rules_ecmascript_errorprone.html
index db37112ae8..351f06669f 100644
--- a/pmd_rules_ecmascript_errorprone.html
+++ b/pmd_rules_ecmascript_errorprone.html
@@ -1556,7 +1556,7 @@ precision in a floating point number. This may result in numeric calculations b
diff --git a/pmd_rules_java.html b/pmd_rules_java.html
index a2a2af83c0..5f64ed6a3f 100644
--- a/pmd_rules_java.html
+++ b/pmd_rules_java.html
@@ -1749,7 +1749,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
OptimizableToArrayCall: Calls to a collection’s ‘toArray(E[])’ method should specify a target array of zero size. This al…
RedundantFieldInitializer: Java will initialize fields with known default values so any explicit initialization of those sam…
ShortInstantiation: Calling new Short() causes memory allocation that can be avoided by the static Short.valueOf(). I…
- SimplifyStartsWith: Since it passes in a literal of length 1, calls to (string).startsWith can be rewritten using (st…
+ SimplifyStartsWith: Calls to ‘string.startsWith("x")’ with a string literal of length 1 can be rewritten using ‘strin…
StringInstantiation: Avoid instantiating String objects; this is usually unnecessary since they are immutable and can …
StringToString: Avoid calling toString() on objects already known to be string instances; this is unnecessary.
TooFewBranchesForASwitchStatement: Switch statements are intended to be used to support complex branching behaviour. Using a switch …
@@ -2073,7 +2073,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_java_bestpractices.html b/pmd_rules_java_bestpractices.html
index fa4266fc97..2782cc0244 100644
--- a/pmd_rules_java_bestpractices.html
+++ b/pmd_rules_java_bestpractices.html
@@ -3713,7 +3713,7 @@ a block
{}
is sufficie
diff --git a/pmd_rules_java_codestyle.html b/pmd_rules_java_codestyle.html
index 9e215a77d5..ee4890101b 100644
--- a/pmd_rules_java_codestyle.html
+++ b/pmd_rules_java_codestyle.html
@@ -4636,7 +4636,7 @@ by the rule
diff --git a/pmd_rules_java_documentation.html b/pmd_rules_java_documentation.html
index 767fb9c4d7..c43b917253 100644
--- a/pmd_rules_java_documentation.html
+++ b/pmd_rules_java_documentation.html
@@ -1745,7 +1745,7 @@ empty methods.
diff --git a/pmd_rules_java_errorprone.html b/pmd_rules_java_errorprone.html
index 88cc38b477..68c8ecc96e 100644
--- a/pmd_rules_java_errorprone.html
+++ b/pmd_rules_java_errorprone.html
@@ -5181,7 +5181,7 @@ Thread.currentThread().getContextClassLoader() instead.
diff --git a/pmd_rules_java_multithreading.html b/pmd_rules_java_multithreading.html
index 34be5bff5d..53928e785e 100644
--- a/pmd_rules_java_multithreading.html
+++ b/pmd_rules_java_multithreading.html
@@ -1931,7 +1931,7 @@ one is chosen. The thread chosen is arbitrary; thus its usually safer to call n
diff --git a/pmd_rules_java_performance.html b/pmd_rules_java_performance.html
index a44f753e0a..8ac40b2c0e 100644
--- a/pmd_rules_java_performance.html
+++ b/pmd_rules_java_performance.html
@@ -2114,8 +2114,9 @@ Note that new Short() is deprecated since JDK 9 for that reason.
Priority: Medium (3)
-Since it passes in a literal of length 1, calls to (string).startsWith can be rewritten using (string).charAt(0)
-at the expense of some readability.
+Calls to string.startsWith("x")
with a string literal of length 1 can be rewritten using string.charAt(0)
,
+at the expense of some readability. To prevent IndexOutOfBoundsException
being thrown by the charAt
method,
+ensure that the string is not empty by making an additional check first.
This rule is defined by the following XPath expression:
//PrimaryExpression
@@ -2139,7 +2140,7 @@ at the expense of some readability.
}
boolean fasterCheckIt(String x) {
- return x.charAt(0) == 'a'; // faster approach
+ return !x.isEmpty() && x.charAt(0) == 'a'; // faster approach
}
}
@@ -2550,7 +2551,7 @@ or StringBuffer.toString().length() == …
diff --git a/pmd_rules_java_security.html b/pmd_rules_java_security.html
index a181f7e1de..656aae55c4 100644
--- a/pmd_rules_java_security.html
+++ b/pmd_rules_java_security.html
@@ -1482,7 +1482,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_jsp.html b/pmd_rules_jsp.html
index 64c7e60c29..ed78afd94e 100644
--- a/pmd_rules_jsp.html
+++ b/pmd_rules_jsp.html
@@ -1493,7 +1493,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_jsp_bestpractices.html b/pmd_rules_jsp_bestpractices.html
index ed12e70632..ccd7a396ac 100644
--- a/pmd_rules_jsp_bestpractices.html
+++ b/pmd_rules_jsp_bestpractices.html
@@ -1524,7 +1524,7 @@ little other purpose. Consider switching to JSP comments.
diff --git a/pmd_rules_jsp_codestyle.html b/pmd_rules_jsp_codestyle.html
index 6a15b175f6..7562ba9990 100644
--- a/pmd_rules_jsp_codestyle.html
+++ b/pmd_rules_jsp_codestyle.html
@@ -1441,7 +1441,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_jsp_design.html b/pmd_rules_jsp_design.html
index 90ca98d10f..d76a542c0f 100644
--- a/pmd_rules_jsp_design.html
+++ b/pmd_rules_jsp_design.html
@@ -1532,7 +1532,7 @@ onload=calcDays;
diff --git a/pmd_rules_jsp_errorprone.html b/pmd_rules_jsp_errorprone.html
index 4660332cd1..fdee4c40cd 100644
--- a/pmd_rules_jsp_errorprone.html
+++ b/pmd_rules_jsp_errorprone.html
@@ -1453,7 +1453,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_jsp_security.html b/pmd_rules_jsp_security.html
index 3b9c0a8305..6f25551530 100644
--- a/pmd_rules_jsp_security.html
+++ b/pmd_rules_jsp_security.html
@@ -1474,7 +1474,7 @@ ${fn:escapeXml(expression)}
<!-- instead, escape it --&g
diff --git a/pmd_rules_modelica.html b/pmd_rules_modelica.html
index 17df668ead..26716628b8 100644
--- a/pmd_rules_modelica.html
+++ b/pmd_rules_modelica.html
@@ -1442,7 +1442,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_modelica_bestpractices.html b/pmd_rules_modelica_bestpractices.html
index 0b651c977d..1a9b936793 100644
--- a/pmd_rules_modelica_bestpractices.html
+++ b/pmd_rules_modelica_bestpractices.html
@@ -1516,7 +1516,7 @@ end Example;
diff --git a/pmd_rules_plsql.html b/pmd_rules_plsql.html
index 329b078db2..f13fb7b8d4 100644
--- a/pmd_rules_plsql.html
+++ b/pmd_rules_plsql.html
@@ -1522,7 +1522,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_plsql_bestpractices.html b/pmd_rules_plsql_bestpractices.html
index d39e9dbc21..cdf36ca874 100644
--- a/pmd_rules_plsql_bestpractices.html
+++ b/pmd_rules_plsql_bestpractices.html
@@ -1482,7 +1482,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_plsql_codestyle.html b/pmd_rules_plsql_codestyle.html
index 6f3f3a37c9..d297be3bf7 100644
--- a/pmd_rules_plsql_codestyle.html
+++ b/pmd_rules_plsql_codestyle.html
@@ -1766,7 +1766,7 @@ https://docs.oracle.com/cd/B28359_01/appdev.111/b28370/static.htm#BABIIHBJ
diff --git a/pmd_rules_plsql_design.html b/pmd_rules_plsql_design.html
index 11453076d3..82a7cd6a98 100644
--- a/pmd_rules_plsql_design.html
+++ b/pmd_rules_plsql_design.html
@@ -2406,7 +2406,7 @@ have more fine grained objects.
diff --git a/pmd_rules_plsql_errorprone.html b/pmd_rules_plsql_errorprone.html
index e39a25fedc..0b346d14d9 100644
--- a/pmd_rules_plsql_errorprone.html
+++ b/pmd_rules_plsql_errorprone.html
@@ -1551,7 +1551,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_pom.html b/pmd_rules_pom.html
index 6b07de3b85..aa6ae650ae 100644
--- a/pmd_rules_pom.html
+++ b/pmd_rules_pom.html
@@ -1455,7 +1455,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_pom_errorprone.html b/pmd_rules_pom_errorprone.html
index d07d1bbec1..fa88c76c0e 100644
--- a/pmd_rules_pom_errorprone.html
+++ b/pmd_rules_pom_errorprone.html
@@ -1522,7 +1522,7 @@ By far the most common problem is the use of ${project.version} in a BOM or pare
diff --git a/pmd_rules_scala.html b/pmd_rules_scala.html
index d94ab94d8d..46f39abe13 100644
--- a/pmd_rules_scala.html
+++ b/pmd_rules_scala.html
@@ -1435,7 +1435,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vf.html b/pmd_rules_vf.html
index cfc0512060..7ffd2da331 100644
--- a/pmd_rules_vf.html
+++ b/pmd_rules_vf.html
@@ -1455,7 +1455,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vf_security.html b/pmd_rules_vf_security.html
index 9af028b5c5..2468c25436 100644
--- a/pmd_rules_vf_security.html
+++ b/pmd_rules_vf_security.html
@@ -1460,7 +1460,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vm.html b/pmd_rules_vm.html
index 9f824ce1c0..1dc333c547 100644
--- a/pmd_rules_vm.html
+++ b/pmd_rules_vm.html
@@ -1476,7 +1476,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vm_bestpractices.html b/pmd_rules_vm_bestpractices.html
index f5ba484d7b..281158b308 100644
--- a/pmd_rules_vm_bestpractices.html
+++ b/pmd_rules_vm_bestpractices.html
@@ -1450,7 +1450,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vm_design.html b/pmd_rules_vm_design.html
index 2197f1f971..0d88c487ce 100644
--- a/pmd_rules_vm_design.html
+++ b/pmd_rules_vm_design.html
@@ -1564,7 +1564,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vm_errorprone.html b/pmd_rules_vm_errorprone.html
index 009411e02c..329dbbf53a 100644
--- a/pmd_rules_vm_errorprone.html
+++ b/pmd_rules_vm_errorprone.html
@@ -1450,7 +1450,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xml.html b/pmd_rules_xml.html
index 70abddc0db..91db296d2d 100644
--- a/pmd_rules_xml.html
+++ b/pmd_rules_xml.html
@@ -1454,7 +1454,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xml_errorprone.html b/pmd_rules_xml_errorprone.html
index 969255e2a4..1ce6b31bfe 100644
--- a/pmd_rules_xml_errorprone.html
+++ b/pmd_rules_xml_errorprone.html
@@ -1454,7 +1454,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xsl.html b/pmd_rules_xsl.html
index ad53419e6c..bb7cd8d3e0 100644
--- a/pmd_rules_xsl.html
+++ b/pmd_rules_xsl.html
@@ -1462,7 +1462,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xsl_codestyle.html b/pmd_rules_xsl_codestyle.html
index 0b947fb1e0..7e4a80938a 100644
--- a/pmd_rules_xsl_codestyle.html
+++ b/pmd_rules_xsl_codestyle.html
@@ -1445,7 +1445,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xsl_performance.html b/pmd_rules_xsl_performance.html
index 4e7dc0b04f..208e00ae16 100644
--- a/pmd_rules_xsl_performance.html
+++ b/pmd_rules_xsl_performance.html
@@ -1488,7 +1488,7 @@ cutting through 100% of the document.
diff --git a/pmd_userdocs_best_practices.html b/pmd_userdocs_best_practices.html
index c64f06a26a..99151215e5 100644
--- a/pmd_userdocs_best_practices.html
+++ b/pmd_userdocs_best_practices.html
@@ -1457,7 +1457,7 @@ and soon you’ll be fixing problems much faster.
diff --git a/pmd_userdocs_cli_reference.html b/pmd_userdocs_cli_reference.html
index 2d04de1b9f..38f957d75d 100644
--- a/pmd_userdocs_cli_reference.html
+++ b/pmd_userdocs_cli_reference.html
@@ -2076,7 +2076,7 @@ All formats are described at PMD Repo
diff --git a/pmd_userdocs_configuring_rules.html b/pmd_userdocs_configuring_rules.html
index f1d0d12d3d..0b85641e27 100644
--- a/pmd_userdocs_configuring_rules.html
+++ b/pmd_userdocs_configuring_rules.html
@@ -1483,7 +1483,7 @@ will cause the rule to be ignored.
diff --git a/pmd_userdocs_cpd.html b/pmd_userdocs_cpd.html
index 644e8d6a8b..3815354fe7 100644
--- a/pmd_userdocs_cpd.html
+++ b/pmd_userdocs_cpd.html
@@ -2440,7 +2440,7 @@ the comment based approach will be extended to those of them that can support it
diff --git a/pmd_userdocs_cpd_report_formats.html b/pmd_userdocs_cpd_report_formats.html
index 2eb33271d8..7ab245a09f 100644
--- a/pmd_userdocs_cpd_report_formats.html
+++ b/pmd_userdocs_cpd_report_formats.html
@@ -1634,7 +1634,7 @@ is shown in the console. You can then click on the filenames to jump to the sour
diff --git a/pmd_userdocs_extending_defining_properties.html b/pmd_userdocs_extending_defining_properties.html
index 479c3bd847..75be9ed1b1 100644
--- a/pmd_userdocs_extending_defining_properties.html
+++ b/pmd_userdocs_extending_defining_properties.html
@@ -1633,7 +1633,7 @@ are supported.
diff --git a/pmd_userdocs_extending_designer_reference.html b/pmd_userdocs_extending_designer_reference.html
index 747e6217e5..266918f673 100644
--- a/pmd_userdocs_extending_designer_reference.html
+++ b/pmd_userdocs_extending_designer_reference.html
@@ -1672,7 +1672,7 @@ The available language modules are those on the classpath of the app’s JVM. Th
diff --git a/pmd_userdocs_extending_metrics_howto.html b/pmd_userdocs_extending_metrics_howto.html
index eb9cdfaf2e..2ab6b813b3 100644
--- a/pmd_userdocs_extending_metrics_howto.html
+++ b/pmd_userdocs_extending_metrics_howto.html
@@ -1758,7 +1758,7 @@ classes. Here’s the default behaviour by language and type of metric:
diff --git a/pmd_userdocs_extending_rule_guidelines.html b/pmd_userdocs_extending_rule_guidelines.html
index facbac48ff..0eba61c1b6 100644
--- a/pmd_userdocs_extending_rule_guidelines.html
+++ b/pmd_userdocs_extending_rule_guidelines.html
@@ -1462,7 +1462,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_userdocs_extending_testing.html b/pmd_userdocs_extending_testing.html
index 99ec9dd90e..9908c05e81 100644
--- a/pmd_userdocs_extending_testing.html
+++ b/pmd_userdocs_extending_testing.html
@@ -1738,7 +1738,7 @@ will be executed twice.
diff --git a/pmd_userdocs_extending_writing_java_rules.html b/pmd_userdocs_extending_writing_java_rules.html
index 01be7559f4..3fb3dce507 100644
--- a/pmd_userdocs_extending_writing_java_rules.html
+++ b/pmd_userdocs_extending_writing_java_rules.html
@@ -1590,7 +1590,7 @@ the file
diff --git a/pmd_userdocs_extending_writing_pmd_rules.html b/pmd_userdocs_extending_writing_pmd_rules.html
index 4178cf1b2b..11b7bee12f 100644
--- a/pmd_userdocs_extending_writing_pmd_rules.html
+++ b/pmd_userdocs_extending_writing_pmd_rules.html
@@ -1454,7 +1454,7 @@ your rule
diff --git a/pmd_userdocs_extending_writing_rules_intro.html b/pmd_userdocs_extending_writing_rules_intro.html
index 24f0e8a650..f949add0de 100644
--- a/pmd_userdocs_extending_writing_rules_intro.html
+++ b/pmd_userdocs_extending_writing_rules_intro.html
@@ -1572,7 +1572,7 @@ your rule
diff --git a/pmd_userdocs_extending_writing_xpath_rules.html b/pmd_userdocs_extending_writing_xpath_rules.html
index db0115f2d3..c9b64ad3b0 100644
--- a/pmd_userdocs_extending_writing_xpath_rules.html
+++ b/pmd_userdocs_extending_writing_xpath_rules.html
@@ -1842,7 +1842,7 @@ deprecated and whose usages should be replaced with uses of
diff --git a/pmd_userdocs_incremental_analysis.html b/pmd_userdocs_incremental_analysis.html
index 025357551d..3d22fa0362 100644
--- a/pmd_userdocs_incremental_analysis.html
+++ b/pmd_userdocs_incremental_analysis.html
@@ -1537,7 +1537,7 @@ same execution classpath).
diff --git a/pmd_userdocs_installation.html b/pmd_userdocs_installation.html
index 7afc9799bd..5d7ac15f74 100644
--- a/pmd_userdocs_installation.html
+++ b/pmd_userdocs_installation.html
@@ -1590,7 +1590,7 @@ directory or a jar or zip file containing the sources.
diff --git a/pmd_userdocs_making_rulesets.html b/pmd_userdocs_making_rulesets.html
index cbdd1aaf55..fe8c3042a5 100644
--- a/pmd_userdocs_making_rulesets.html
+++ b/pmd_userdocs_making_rulesets.html
@@ -1540,7 +1540,7 @@ a single rule reference.
diff --git a/pmd_userdocs_report_formats.html b/pmd_userdocs_report_formats.html
index 05d2ad43c8..8eab6a33a4 100644
--- a/pmd_userdocs_report_formats.html
+++ b/pmd_userdocs_report_formats.html
@@ -1791,7 +1791,7 @@ The output directory must exist. If not specified, the html files are created in
diff --git a/pmd_userdocs_suppressing_warnings.html b/pmd_userdocs_suppressing_warnings.html
index 57b47d51e0..5fcf664c79 100644
--- a/pmd_userdocs_suppressing_warnings.html
+++ b/pmd_userdocs_suppressing_warnings.html
@@ -1641,7 +1641,7 @@ violations you wish to suppress. XPath queries are explained in
diff --git a/pmd_userdocs_tools.html b/pmd_userdocs_tools.html
index 76b438f82d..2659314b3c 100644
--- a/pmd_userdocs_tools.html
+++ b/pmd_userdocs_tools.html
@@ -1881,7 +1881,7 @@ the (blank Command Results) document, and then confirming that, “yes, I do rea
diff --git a/pmd_userdocs_tools_ant.html b/pmd_userdocs_tools_ant.html
index ef9cdc6686..3445738fb9 100644
--- a/pmd_userdocs_tools_ant.html
+++ b/pmd_userdocs_tools_ant.html
@@ -1860,7 +1860,7 @@ To prevent this from happening, increase the maximum memory usable by ant using
diff --git a/pmd_userdocs_tools_ci.html b/pmd_userdocs_tools_ci.html
index 380425240a..804583a6c1 100644
--- a/pmd_userdocs_tools_ci.html
+++ b/pmd_userdocs_tools_ci.html
@@ -1447,7 +1447,7 @@ result of the PMD maven plugin.
diff --git a/pmd_userdocs_tools_gradle.html b/pmd_userdocs_tools_gradle.html
index 5fd415f829..3c03712295 100644
--- a/pmd_userdocs_tools_gradle.html
+++ b/pmd_userdocs_tools_gradle.html
@@ -1490,7 +1490,7 @@ with the property
toolVersion
diff --git a/pmd_userdocs_tools_java_api.html b/pmd_userdocs_tools_java_api.html
index 2f37194156..0124b4b523 100644
--- a/pmd_userdocs_tools_java_api.html
+++ b/pmd_userdocs_tools_java_api.html
@@ -1706,7 +1706,7 @@ Then you can check the rendered output.
diff --git a/pmd_userdocs_tools_maven.html b/pmd_userdocs_tools_maven.html
index e81955b348..22d6e4d805 100644
--- a/pmd_userdocs_tools_maven.html
+++ b/pmd_userdocs_tools_maven.html
@@ -1705,7 +1705,7 @@ the previous paragraph. Add the following property to your project now:
diff --git a/tag_devdocs.html b/tag_devdocs.html
index 5aa896e401..a2ec6cdcf0 100644
--- a/tag_devdocs.html
+++ b/tag_devdocs.html
@@ -1931,7 +1931,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_extending.html b/tag_extending.html
index 8b9941a262..ba831aa9b9 100644
--- a/tag_extending.html
+++ b/tag_extending.html
@@ -1955,7 +1955,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_getting_started.html b/tag_getting_started.html
index c79994ba1e..be189db89d 100644
--- a/tag_getting_started.html
+++ b/tag_getting_started.html
@@ -1889,7 +1889,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_languages.html b/tag_languages.html
index 4d4321fa13..1d243af1d4 100644
--- a/tag_languages.html
+++ b/tag_languages.html
@@ -1865,7 +1865,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_metrics.html b/tag_metrics.html
index 568dbac08c..f3dbbcf091 100644
--- a/tag_metrics.html
+++ b/tag_metrics.html
@@ -1889,7 +1889,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_release_notes.html b/tag_release_notes.html
index f4e8b052e2..404f6cbeb9 100644
--- a/tag_release_notes.html
+++ b/tag_release_notes.html
@@ -1865,7 +1865,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_rule_references.html b/tag_rule_references.html
index 207317d22d..5919f15dd0 100644
--- a/tag_rule_references.html
+++ b/tag_rule_references.html
@@ -1937,7 +1937,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_tools.html b/tag_tools.html
index 3feb1ee766..249a740510 100644
--- a/tag_tools.html
+++ b/tag_tools.html
@@ -1901,7 +1901,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_troubleshooting.html b/tag_troubleshooting.html
index c36bfafb5d..7e8f487b57 100644
--- a/tag_troubleshooting.html
+++ b/tag_troubleshooting.html
@@ -1865,7 +1865,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_userdocs.html b/tag_userdocs.html
index d6e88c47b4..918ab6bc9b 100644
--- a/tag_userdocs.html
+++ b/tag_userdocs.html
@@ -2021,7 +2021,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_userdocs_extending_your_first_rule.html b/pmd_userdocs_extending_your_first_rule.html
index 0151993239..66ea80471f 100644
--- a/pmd_userdocs_extending_your_first_rule.html
+++ b/pmd_userdocs_extending_your_first_rule.html
@@ -1561,7 +1561,7 @@ of a rule of type XPathRule, which is how XPath rules are implemented.
diff --git a/pmd_rules_java_design.html b/pmd_rules_java_design.html
index 0585497eb3..3e101e86a9 100644
--- a/pmd_rules_java_design.html
+++ b/pmd_rules_java_design.html
@@ -3966,7 +3966,7 @@ remember to add a private constructor to prevent instantiation.
diff --git a/pmd_devdocs_pmdtester.html b/pmd_devdocs_pmdtester.html
index 616d130001..061b0d1412 100644
--- a/pmd_devdocs_pmdtester.html
+++ b/pmd_devdocs_pmdtester.html
@@ -1444,7 +1444,7 @@ Regression difference reports are commented back to the PR for the reviewer’s