You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2023/04/14 11:02:16 UTC

[tomcat] 02/08: Code clean-up - no functional change

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

markt pushed a commit to branch 10.1.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 7b329c113ca964592247cc3f7df362b575937085
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Fri Apr 14 11:31:59 2023 +0100

    Code clean-up - no functional change
---
 java/jakarta/servlet/jsp/ErrorData.java            |  21 +-
 java/jakarta/servlet/jsp/HttpJspPage.java          |  37 +-
 .../jakarta/servlet/jsp/JspApplicationContext.java |  25 +-
 java/jakarta/servlet/jsp/JspContext.java           | 206 +++++------
 java/jakarta/servlet/jsp/JspEngineInfo.java        |  17 +-
 java/jakarta/servlet/jsp/JspException.java         |  42 +--
 java/jakarta/servlet/jsp/JspFactory.java           |  81 ++---
 java/jakarta/servlet/jsp/JspPage.java              |  67 ++--
 java/jakarta/servlet/jsp/JspTagException.java      |  50 ++-
 java/jakarta/servlet/jsp/JspWriter.java            | 363 ++++++++------------
 java/jakarta/servlet/jsp/PageContext.java          | 377 ++++++++-------------
 java/jakarta/servlet/jsp/SkipPageException.java    |  28 +-
 java/jakarta/servlet/jsp/el/ELException.java       |  16 +-
 java/jakarta/servlet/jsp/el/ELParseException.java  |   9 +-
 java/jakarta/servlet/jsp/el/Expression.java        |  35 +-
 .../servlet/jsp/el/ExpressionEvaluator.java        |  95 +++---
 java/jakarta/servlet/jsp/el/FunctionMapper.java    |  20 +-
 .../servlet/jsp/el/ImplicitObjectELResolver.java   |  29 +-
 java/jakarta/servlet/jsp/el/ImportELResolver.java  |   9 +-
 .../jakarta/servlet/jsp/el/NotFoundELResolver.java |  24 +-
 .../servlet/jsp/el/ScopedAttributeELResolver.java  |   3 +-
 java/jakarta/servlet/jsp/el/VariableResolver.java  |  25 +-
 java/jakarta/servlet/jsp/tagext/BodyContent.java   |  46 +--
 java/jakarta/servlet/jsp/tagext/BodyTag.java       | 145 ++++----
 .../jakarta/servlet/jsp/tagext/BodyTagSupport.java |  41 ++-
 .../servlet/jsp/tagext/DynamicAttributes.java      |  29 +-
 java/jakarta/servlet/jsp/tagext/FunctionInfo.java  |   7 +-
 java/jakarta/servlet/jsp/tagext/IterationTag.java  | 118 +++----
 java/jakarta/servlet/jsp/tagext/JspFragment.java   |  64 ++--
 java/jakarta/servlet/jsp/tagext/JspIdConsumer.java |   3 +-
 java/jakarta/servlet/jsp/tagext/JspTag.java        |   3 +-
 java/jakarta/servlet/jsp/tagext/PageData.java      |  15 +-
 java/jakarta/servlet/jsp/tagext/SimpleTag.java     | 132 +++-----
 .../servlet/jsp/tagext/SimpleTagSupport.java       | 126 +++----
 java/jakarta/servlet/jsp/tagext/Tag.java           | 254 ++++++--------
 java/jakarta/servlet/jsp/tagext/TagAdapter.java    |  81 ++---
 .../servlet/jsp/tagext/TagAttributeInfo.java       | 126 +++----
 java/jakarta/servlet/jsp/tagext/TagData.java       |  56 ++-
 java/jakarta/servlet/jsp/tagext/TagExtraInfo.java  |  92 +++--
 java/jakarta/servlet/jsp/tagext/TagFileInfo.java   |  35 +-
 java/jakarta/servlet/jsp/tagext/TagInfo.java       | 273 ++++++---------
 .../jakarta/servlet/jsp/tagext/TagLibraryInfo.java |  97 +++---
 .../servlet/jsp/tagext/TagLibraryValidator.java    | 110 +++---
 java/jakarta/servlet/jsp/tagext/TagSupport.java    |  84 ++---
 .../servlet/jsp/tagext/TagVariableInfo.java        |  40 +--
 .../servlet/jsp/tagext/TryCatchFinally.java        |  61 ++--
 .../servlet/jsp/tagext/ValidationMessage.java      |  35 +-
 java/jakarta/servlet/jsp/tagext/VariableInfo.java  | 128 +++----
 48 files changed, 1531 insertions(+), 2249 deletions(-)

diff --git a/java/jakarta/servlet/jsp/ErrorData.java b/java/jakarta/servlet/jsp/ErrorData.java
index 7ab0f12b67..82e641d338 100644
--- a/java/jakarta/servlet/jsp/ErrorData.java
+++ b/java/jakarta/servlet/jsp/ErrorData.java
@@ -17,12 +17,12 @@
 package jakarta.servlet.jsp;
 
 /**
- * Contains information about an error, for error pages. The information
- * contained in this instance is meaningless if not used in the context of an
- * error page. To indicate a JSP is an error page, the page author must set the
+ * Contains information about an error, for error pages. The information contained in this instance is meaningless if
+ * not used in the context of an error page. To indicate a JSP is an error page, the page author must set the
  * isErrorPage attribute of the page directive to "true".
  *
  * @see PageContext#getErrorData
+ *
  * @since JSP 2.0
  */
 public final class ErrorData {
@@ -35,17 +35,12 @@ public final class ErrorData {
     /**
      * Creates a new ErrorData object.
      *
-     * @param throwable
-     *            The Throwable that is the cause of the error
-     * @param statusCode
-     *            The status code of the error
-     * @param uri
-     *            The request URI
-     * @param servletName
-     *            The name of the servlet invoked
+     * @param throwable   The Throwable that is the cause of the error
+     * @param statusCode  The status code of the error
+     * @param uri         The request URI
+     * @param servletName The name of the servlet invoked
      */
-    public ErrorData(Throwable throwable, int statusCode, String uri,
-            String servletName) {
+    public ErrorData(Throwable throwable, int statusCode, String uri, String servletName) {
         this.throwable = throwable;
         this.statusCode = statusCode;
         this.uri = uri;
diff --git a/java/jakarta/servlet/jsp/HttpJspPage.java b/java/jakarta/servlet/jsp/HttpJspPage.java
index 2f757f8964..d7e6d6d7b2 100644
--- a/java/jakarta/servlet/jsp/HttpJspPage.java
+++ b/java/jakarta/servlet/jsp/HttpJspPage.java
@@ -23,13 +23,11 @@ import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 
 /**
- * The HttpJspPage interface describes the interaction that a JSP Page
- * Implementation Class must satisfy when using the HTTP protocol.
- *
+ * The HttpJspPage interface describes the interaction that a JSP Page Implementation Class must satisfy when using the
+ * HTTP protocol.
  * <p>
- * The behaviour is identical to that of the JspPage, except for the signature
- * of the _jspService method, which is now expressible in the Java type
- * system and included explicitly in the interface.
+ * The behaviour is identical to that of the JspPage, except for the signature of the _jspService method, which is now
+ * expressible in the Java type system and included explicitly in the interface.
  *
  * @see JspPage
  */
@@ -37,24 +35,19 @@ import jakarta.servlet.http.HttpServletResponse;
 public interface HttpJspPage extends JspPage {
 
     /**
-     * The _jspService()method corresponds to the body of the JSP page. This
-     * method is defined automatically by the JSP container and should never
-     * be defined by the JSP page author.
+     * The _jspService()method corresponds to the body of the JSP page. This method is defined automatically by the JSP
+     * container and should never be defined by the JSP page author.
      * <p>
-     * If a superclass is specified using the extends attribute, that
-     * superclass may choose to perform some actions in its service() method
-     * before or after calling the _jspService() method.  See using the extends
-     * attribute in the JSP_Engine chapter of the JSP specification.
+     * If a superclass is specified using the extends attribute, that superclass may choose to perform some actions in
+     * its service() method before or after calling the _jspService() method. See using the extends attribute in the
+     * JSP_Engine chapter of the JSP specification.
      *
-     * @param request Provides client request information to the JSP.
+     * @param request  Provides client request information to the JSP.
      * @param response Assists the JSP in sending a response to the client.
-     * @throws ServletException Thrown if an error occurred during the
-     *     processing of the JSP and that the container should take
-     *     appropriate action to clean up the request.
-     * @throws IOException Thrown if an error occurred while writing the
-     *     response for this page.
+     *
+     * @throws ServletException Thrown if an error occurred during the processing of the JSP and that the container
+     *                              should take appropriate action to clean up the request.
+     * @throws IOException      Thrown if an error occurred while writing the response for this page.
      */
-    void _jspService(HttpServletRequest request,
-                            HttpServletResponse response)
-        throws ServletException, IOException;
+    void _jspService(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException;
 }
diff --git a/java/jakarta/servlet/jsp/JspApplicationContext.java b/java/jakarta/servlet/jsp/JspApplicationContext.java
index 47d06006e9..cdec5b90b3 100644
--- a/java/jakarta/servlet/jsp/JspApplicationContext.java
+++ b/java/jakarta/servlet/jsp/JspApplicationContext.java
@@ -30,12 +30,11 @@ import jakarta.el.ExpressionFactory;
 public interface JspApplicationContext {
 
     /**
-     * Registers an <code>ELContextListener</code> that will be notified
-     * whenever a new <code>ELContext</code> is created.
+     * Registers an <code>ELContextListener</code> that will be notified whenever a new <code>ELContext</code> is
+     * created.
      * <p>
-     * At the very least, any <code>ELContext</code> instantiated will have
-     * reference to the <code>JspContext</code> under
-     * <code>JspContext.class</code>.
+     * At the very least, any <code>ELContext</code> instantiated will have reference to the <code>JspContext</code>
+     * under <code>JspContext.class</code>.
      *
      * @param listener The listener to add
      */
@@ -43,8 +42,8 @@ public interface JspApplicationContext {
 
     /**
      * <p>
-     * Adds an <code>ELResolver</code> to the chain of EL variable and property
-     * management within JSP pages and Tag files.
+     * Adds an <code>ELResolver</code> to the chain of EL variable and property management within JSP pages and Tag
+     * files.
      * </p>
      * <p>
      * JSP has a default set of ELResolvers to chain for all EL evaluation:
@@ -59,18 +58,16 @@ public interface JspApplicationContext {
      * <li><code>ScopedAttributeELResolver</code></li>
      * </ul>
      *
-     * @param resolver
-     *            an additional resolver
-     * @throws IllegalStateException
-     *             if called after the application's
-     *             <code>ServletContextListeners</code> have been initialized.
+     * @param resolver an additional resolver
+     *
+     * @throws IllegalStateException if called after the application's <code>ServletContextListeners</code> have been
+     *                                   initialized.
      */
     void addELResolver(ELResolver resolver);
 
     /**
      * <p>
-     * Returns the JSP container's <code>ExpressionFactory</code> implementation
-     * for EL use.
+     * Returns the JSP container's <code>ExpressionFactory</code> implementation for EL use.
      * </p>
      *
      * @return an <code>ExpressionFactory</code> implementation
diff --git a/java/jakarta/servlet/jsp/JspContext.java b/java/jakarta/servlet/jsp/JspContext.java
index 32d13d60ff..c21fc73c23 100644
--- a/java/jakarta/servlet/jsp/JspContext.java
+++ b/java/jakarta/servlet/jsp/JspContext.java
@@ -22,46 +22,33 @@ import jakarta.el.ELContext;
 
 /**
  * <p>
- * <code>JspContext</code> serves as the base class for the
- * PageContext class and abstracts all information that is not specific
- * to servlets.  This allows for Simple Tag Extensions to be used
- * outside of the context of a request/response Servlet.
+ * <code>JspContext</code> serves as the base class for the PageContext class and abstracts all information that is not
+ * specific to servlets. This allows for Simple Tag Extensions to be used outside of the context of a request/response
+ * Servlet.
  * <p>
- * The JspContext provides a number of facilities to the
- * page/component author and page implementor, including:
+ * The JspContext provides a number of facilities to the page/component author and page implementor, including:
  * <ul>
  * <li>a single API to manage the various scoped namespaces
  * <li>a mechanism to obtain the JspWriter for output
- * <li>a mechanism to expose page directive attributes to the
- *     scripting environment
+ * <li>a mechanism to expose page directive attributes to the scripting environment
  * </ul>
- *
- * <p><B>Methods Intended for Container Generated Code</B>
  * <p>
- * The following methods enable the <B>management of nested</B> JspWriter
- * streams to implement Tag Extensions: <code>pushBody()</code> and
- * <code>popBody()</code>
- *
- * <p><B>Methods Intended for JSP authors</B>
+ * <B>Methods Intended for Container Generated Code</B>
  * <p>
- * Some methods provide <B>uniform access</B> to the diverse objects
- * representing scopes.
- * The implementation must use the underlying machinery
- * corresponding to that scope, so information can be passed back and
- * forth between the underlying environment (e.g. Servlets) and JSP pages.
- * The methods are:
- * <code>setAttribute()</code>,  <code>getAttribute()</code>,
- * <code>findAttribute()</code>,  <code>removeAttribute()</code>,
- * <code>getAttributesScope()</code> and
- * <code>getAttributeNamesInScope()</code>.
- *
+ * The following methods enable the <B>management of nested</B> JspWriter streams to implement Tag Extensions:
+ * <code>pushBody()</code> and <code>popBody()</code>
  * <p>
- * The following methods provide <B>convenient access</B> to implicit objects:
- * <code>getOut()</code>
- *
+ * <B>Methods Intended for JSP authors</B>
  * <p>
- * The following methods provide <B>programmatic access</b> to the
- * Expression Language evaluator:
+ * Some methods provide <B>uniform access</B> to the diverse objects representing scopes. The implementation must use
+ * the underlying machinery corresponding to that scope, so information can be passed back and forth between the
+ * underlying environment (e.g. Servlets) and JSP pages. The methods are: <code>setAttribute()</code>,
+ * <code>getAttribute()</code>, <code>findAttribute()</code>, <code>removeAttribute()</code>,
+ * <code>getAttributesScope()</code> and <code>getAttributeNamesInScope()</code>.
+ * <p>
+ * The following methods provide <B>convenient access</B> to implicit objects: <code>getOut()</code>
+ * <p>
+ * The following methods provide <B>programmatic access</b> to the Expression Language evaluator:
  * <code>getExpressionEvaluator()</code>, <code>getVariableResolver()</code>
  *
  * @since JSP 2.0
@@ -70,55 +57,47 @@ import jakarta.el.ELContext;
 public abstract class JspContext {
 
     /**
-     * Sole constructor. (For invocation by subclass constructors,
-     * typically implicit.)
+     * Sole constructor. (For invocation by subclass constructors, typically implicit.)
      */
     public JspContext() {
         // NOOP by default
     }
 
     /**
-     * Register the name and value specified with page scope semantics.
-     * If the value passed in is <code>null</code>, this has the same
-     * effect as calling
-     * <code>removeAttribute( name, PageContext.PAGE_SCOPE )</code>.
-     *
-     * @param name the name of the attribute to set
-     * @param value the value to associate with the name, or null if the
-     *     attribute is to be removed from the page scope.
+     * Register the name and value specified with page scope semantics. If the value passed in is <code>null</code>,
+     * this has the same effect as calling <code>removeAttribute( name, PageContext.PAGE_SCOPE )</code>.
+     *
+     * @param name  the name of the attribute to set
+     * @param value the value to associate with the name, or null if the attribute is to be removed from the page scope.
+     *
      * @throws NullPointerException if the name is null
      */
 
     public abstract void setAttribute(String name, Object value);
 
     /**
-     * Register the name and value specified with appropriate
-     * scope semantics.  If the value passed in is <code>null</code>,
-     * this has the same effect as calling
-     * <code>removeAttribute( name, scope )</code>.
-     *
-     * @param name the name of the attribute to set
-     * @param value the object to associate with the name, or null if
-     *     the attribute is to be removed from the specified scope.
+     * Register the name and value specified with appropriate scope semantics. If the value passed in is
+     * <code>null</code>, this has the same effect as calling <code>removeAttribute( name, scope )</code>.
+     *
+     * @param name  the name of the attribute to set
+     * @param value the object to associate with the name, or null if the attribute is to be removed from the specified
+     *                  scope.
      * @param scope the scope with which to associate the name/object
      *
-     * @throws NullPointerException if the name is null
+     * @throws NullPointerException     if the name is null
      * @throws IllegalArgumentException if the scope is invalid
-     * @throws IllegalStateException if the scope is
-     *     PageContext.SESSION_SCOPE but the page that was requested
-     *     does not participate in a session or the session has been
-     *     invalidated.
+     * @throws IllegalStateException    if the scope is PageContext.SESSION_SCOPE but the page that was requested does
+     *                                      not participate in a session or the session has been invalidated.
      */
 
     public abstract void setAttribute(String name, Object value, int scope);
 
     /**
-     * Returns the object associated with the name in the page scope or null
-     * if not found.
+     * Returns the object associated with the name in the page scope or null if not found.
      *
      * @param name the name of the attribute to get
-     * @return the object associated with the name in the page scope
-     *     or null if not found.
+     *
+     * @return the object associated with the name in the page scope or null if not found.
      *
      * @throws NullPointerException if the name is null
      */
@@ -126,58 +105,56 @@ public abstract class JspContext {
     public abstract Object getAttribute(String name);
 
     /**
-     * Return the object associated with the name in the specified
-     * scope or null if not found.
+     * Return the object associated with the name in the specified scope or null if not found.
      *
-     * @param name the name of the attribute to set
+     * @param name  the name of the attribute to set
      * @param scope the scope with which to associate the name/object
-     * @return the object associated with the name in the specified
-     *     scope or null if not found.
      *
-     * @throws NullPointerException if the name is null
+     * @return the object associated with the name in the specified scope or null if not found.
+     *
+     * @throws NullPointerException     if the name is null
      * @throws IllegalArgumentException if the scope is invalid
-     * @throws IllegalStateException if the scope is
-     *     PageContext.SESSION_SCOPE but the page that was requested
-     *     does not participate in a session or the session has been
-     *     invalidated.
+     * @throws IllegalStateException    if the scope is PageContext.SESSION_SCOPE but the page that was requested does
+     *                                      not participate in a session or the session has been invalidated.
      */
 
     public abstract Object getAttribute(String name, int scope);
 
     /**
-     * Searches for the named attribute in page, request, session (if valid),
-     * and application scope(s) in order and returns the value associated or
-     * null.
+     * Searches for the named attribute in page, request, session (if valid), and application scope(s) in order and
+     * returns the value associated or null.
      *
      * @param name the name of the attribute to search for
+     *
      * @return the value associated or null
+     *
      * @throws NullPointerException if the name is null
      */
 
     public abstract Object findAttribute(String name);
 
     /**
-     * Remove the object reference associated with the given name
-     * from all scopes.  Does nothing if there is no such object.
+     * Remove the object reference associated with the given name from all scopes. Does nothing if there is no such
+     * object.
      *
      * @param name The name of the object to remove.
+     *
      * @throws NullPointerException if the name is null
      */
 
     public abstract void removeAttribute(String name);
 
     /**
-     * Remove the object reference associated with the specified name
-     * in the given scope.  Does nothing if there is no such object.
+     * Remove the object reference associated with the specified name in the given scope. Does nothing if there is no
+     * such object.
      *
-     * @param name The name of the object to remove.
+     * @param name  The name of the object to remove.
      * @param scope The scope where to look.
+     *
      * @throws IllegalArgumentException if the scope is invalid
-     * @throws IllegalStateException if the scope is
-     *     PageContext.SESSION_SCOPE but the page that was requested
-     *     does not participate in a session or the session has been
-     *     invalidated.
-     * @throws NullPointerException if the name is null
+     * @throws IllegalStateException    if the scope is PageContext.SESSION_SCOPE but the page that was requested does
+     *                                      not participate in a session or the session has been invalidated.
+     * @throws NullPointerException     if the name is null
      */
 
     public abstract void removeAttribute(String name, int scope);
@@ -186,7 +163,9 @@ public abstract class JspContext {
      * Get the scope where a given attribute is defined.
      *
      * @param name the name of the attribute to return the scope for
+     *
      * @return the scope of the object associated with the name specified or 0
+     *
      * @throws NullPointerException if the name is null
      */
 
@@ -196,13 +175,12 @@ public abstract class JspContext {
      * Enumerate all the attributes in a given scope.
      *
      * @param scope the scope to enumerate all the attributes for
-     * @return an enumeration of names (java.lang.String) of all the
-     *     attributes the specified scope
+     *
+     * @return an enumeration of names (java.lang.String) of all the attributes the specified scope
+     *
      * @throws IllegalArgumentException if the scope is invalid
-     * @throws IllegalStateException if the scope is
-     *     PageContext.SESSION_SCOPE but the page that was requested
-     *     does not participate in a session or the session has been
-     *     invalidated.
+     * @throws IllegalStateException    if the scope is PageContext.SESSION_SCOPE but the page that was requested does
+     *                                      not participate in a session or the session has been invalidated.
      */
 
     public abstract Enumeration<String> getAttributeNamesInScope(int scope);
@@ -215,69 +193,65 @@ public abstract class JspContext {
     public abstract JspWriter getOut();
 
     /**
-     * Provides programmatic access to the ExpressionEvaluator.
-     * The JSP Container must return a valid instance of an
+     * Provides programmatic access to the ExpressionEvaluator. The JSP Container must return a valid instance of an
      * ExpressionEvaluator that can parse EL expressions.
      *
      * @return A valid instance of an ExpressionEvaluator.
+     *
      * @since JSP 2.0
-     * @deprecated As of JSP 2.1, replaced by
-     *             JspApplicationContext.getExpressionFactory()
+     *
+     * @deprecated As of JSP 2.1, replaced by JspApplicationContext.getExpressionFactory()
      */
     @Deprecated
     public abstract jakarta.servlet.jsp.el.ExpressionEvaluator getExpressionEvaluator();
 
     /**
-     * Obtain the ELContext for this JSPContext. Each JSPContext has a dedicated
-     * ELContext.
+     * Obtain the ELContext for this JSPContext. Each JSPContext has a dedicated ELContext.
      *
      * @return the ELContext for this JSPContext
      */
     public abstract ELContext getELContext();
 
     /**
-     * Returns an instance of a VariableResolver that provides access to the
-     * implicit objects specified in the JSP specification using this JspContext
-     * as the context object.
+     * Returns an instance of a VariableResolver that provides access to the implicit objects specified in the JSP
+     * specification using this JspContext as the context object.
      *
      * @return A valid instance of a VariableResolver.
+     *
      * @since JSP 2.0
-     * @deprecated As of JSP 2.1,
-     *             replaced by jakarta.el.ELContext.getELResolver()
-     *             which can be obtained by
-     *             jspContext.getELContext().getELResolver()
+     *
+     * @deprecated As of JSP 2.1, replaced by jakarta.el.ELContext.getELResolver() which can be obtained by
+     *                 jspContext.getELContext().getELResolver()
      */
     @Deprecated
     public abstract jakarta.servlet.jsp.el.VariableResolver getVariableResolver();
 
     /**
-     * Return a new JspWriter object that sends output to the
-     * provided Writer.  Saves the current "out" JspWriter,
-     * and updates the value of the "out" attribute in the
-     * page scope attribute namespace of the JspContext.
-     * <p>The returned JspWriter must implement all methods and
-     * behave as though it were unbuffered.  More specifically:
+     * Return a new JspWriter object that sends output to the provided Writer. Saves the current "out" JspWriter, and
+     * updates the value of the "out" attribute in the page scope attribute namespace of the JspContext.
+     * <p>
+     * The returned JspWriter must implement all methods and behave as though it were unbuffered. More specifically:
      * </p>
      * <ul>
-     *   <li>clear() must throw an IOException</li>
-     *   <li>clearBuffer() does nothing</li>
-     *   <li>getBufferSize() always returns 0</li>
-     *   <li>getRemaining() always returns 0</li>
+     * <li>clear() must throw an IOException</li>
+     * <li>clearBuffer() does nothing</li>
+     * <li>getBufferSize() always returns 0</li>
+     * <li>getRemaining() always returns 0</li>
      * </ul>
      *
-     * @param writer The Writer for the returned JspWriter to send
-     *     output to.
+     * @param writer The Writer for the returned JspWriter to send output to.
+     *
      * @return a new JspWriter that writes to the given Writer.
+     *
      * @since JSP 2.0
      */
-    public JspWriter pushBody( java.io.Writer writer ) {
+    public JspWriter pushBody(java.io.Writer writer) {
         return null; // XXX to implement
     }
 
     /**
-     * Return the previous JspWriter "out" saved by the matching
-     * pushBody(), and update the value of the "out" attribute in
-     * the page scope attribute namespace of the JspContext.
+     * Return the previous JspWriter "out" saved by the matching pushBody(), and update the value of the "out" attribute
+     * in the page scope attribute namespace of the JspContext.
      *
      * @return the saved JspWriter.
      */
diff --git a/java/jakarta/servlet/jsp/JspEngineInfo.java b/java/jakarta/servlet/jsp/JspEngineInfo.java
index 6c2ba3bdb6..3ccb77bb8b 100644
--- a/java/jakarta/servlet/jsp/JspEngineInfo.java
+++ b/java/jakarta/servlet/jsp/JspEngineInfo.java
@@ -17,29 +17,24 @@
 package jakarta.servlet.jsp;
 
 /**
- * The JspEngineInfo is an abstract class that provides information on the
- * current JSP engine.
+ * The JspEngineInfo is an abstract class that provides information on the current JSP engine.
  */
 
 public abstract class JspEngineInfo {
 
     /**
-     * Sole constructor. (For invocation by subclass constructors,
-     * typically implicit.)
+     * Sole constructor. (For invocation by subclass constructors, typically implicit.)
      */
     public JspEngineInfo() {
         // NOOP by default
     }
 
     /**
-     * Return the version number of the JSP specification that is supported by
-     * this JSP engine.
+     * Return the version number of the JSP specification that is supported by this JSP engine.
      * <p>
-     * Specification version numbers that consists of positive decimal integers
-     * separated by periods ".", for example, "2.0" or "1.2.3.4.5.6.7".
-     * This allows an extensible number to be used to
-     * represent major, minor, micro, etc versions.
-     * The version number must begin with a number.
+     * Specification version numbers that consists of positive decimal integers separated by periods ".", for example,
+     * "2.0" or "1.2.3.4.5.6.7". This allows an extensible number to be used to represent major, minor, micro, etc
+     * versions. The version number must begin with a number.
      * </p>
      *
      * @return the specification version, null is returned if it is not known
diff --git a/java/jakarta/servlet/jsp/JspException.java b/java/jakarta/servlet/jsp/JspException.java
index 975a05f821..f061ecc205 100644
--- a/java/jakarta/servlet/jsp/JspException.java
+++ b/java/jakarta/servlet/jsp/JspException.java
@@ -17,8 +17,7 @@
 package jakarta.servlet.jsp;
 
 /**
- * A generic exception known to the JSP engine; uncaught
- * JspExceptions will result in an invocation of the errorpage
+ * A generic exception known to the JSP engine; uncaught JspExceptions will result in an invocation of the errorpage
  * machinery.
  */
 public class JspException extends Exception {
@@ -35,12 +34,10 @@ public class JspException extends Exception {
 
 
     /**
-     * Constructs a new JSP exception with the
-     * specified message. The message can be written
-     * to the server log and/or displayed for the user.
+     * Constructs a new JSP exception with the specified message. The message can be written to the server log and/or
+     * displayed for the user.
      *
-     * @param msg   a <code>String</code> specifying the text of the exception
-     *              message
+     * @param msg a <code>String</code> specifying the text of the exception message
      */
     public JspException(String msg) {
         super(msg);
@@ -48,19 +45,14 @@ public class JspException extends Exception {
 
 
     /**
-     * Constructs a new <code>JSPException</code> with the specified detail
-     * message and cause. The cause is saved for later retrieval by the
-     * <code>java.lang.Throwable.getCause()</code> and {@link #getRootCause()}
-     * methods.
+     * Constructs a new <code>JSPException</code> with the specified detail message and cause. The cause is saved for
+     * later retrieval by the <code>java.lang.Throwable.getCause()</code> and {@link #getRootCause()} methods.
      *
      * @see java.lang.Exception#Exception(String, Throwable)
      *
-     * @param message       a <code>String</code> containing the text of the
-     *                      exception message
-     *
-     * @param cause         the <code>Throwable</code> exception that
-     *                      interfered with the JSP's normal operation,
-     *                      making this JSP exception necessary
+     * @param message a <code>String</code> containing the text of the exception message
+     * @param cause   the <code>Throwable</code> exception that interfered with the JSP's normal operation, making this
+     *                    JSP exception necessary
      */
 
     public JspException(String message, Throwable cause) {
@@ -69,16 +61,13 @@ public class JspException extends Exception {
 
 
     /**
-     * Constructs a new <code>JSPException</code> with the specified cause.
-     * The cause is saved for later retrieval by the
-     * <code>java.lang.Throwable.getCause()</code> and {@link #getRootCause()}
-     * methods.
+     * Constructs a new <code>JSPException</code> with the specified cause. The cause is saved for later retrieval by
+     * the <code>java.lang.Throwable.getCause()</code> and {@link #getRootCause()} methods.
      *
      * @see java.lang.Exception#Exception(Throwable)
      *
-     * @param cause         the <code>Throwable</code> exception that
-     *                      interfered with the JSP's normal operation, making
-     *                      the JSP exception necessary
+     * @param cause the <code>Throwable</code> exception that interfered with the JSP's normal operation, making the JSP
+     *                  exception necessary
      */
 
     public JspException(Throwable cause) {
@@ -89,10 +78,9 @@ public class JspException extends Exception {
     /**
      * Returns the exception that caused this JSP exception.
      *
-     * @return  the <code>Throwable</code> that caused this JSP exception
+     * @return the <code>Throwable</code> that caused this JSP exception
      *
-     * @deprecated As of JSP 2.1, replaced by
-     * <code>java.lang.Throwable.getCause()</code>
+     * @deprecated As of JSP 2.1, replaced by <code>java.lang.Throwable.getCause()</code>
      */
     @Deprecated
     public Throwable getRootCause() {
diff --git a/java/jakarta/servlet/jsp/JspFactory.java b/java/jakarta/servlet/jsp/JspFactory.java
index 01db9018bd..4abc2dee40 100644
--- a/java/jakarta/servlet/jsp/JspFactory.java
+++ b/java/jakarta/servlet/jsp/JspFactory.java
@@ -23,19 +23,15 @@ import jakarta.servlet.ServletResponse;
 
 /**
  * <p>
- * The JspFactory is an abstract class that defines a number of factory
- * methods available to a JSP page at runtime for the purposes of creating
- * instances of various interfaces and classes used to support the JSP
- * implementation.
+ * The JspFactory is an abstract class that defines a number of factory methods available to a JSP page at runtime for
+ * the purposes of creating instances of various interfaces and classes used to support the JSP implementation.
  * <p>
- * A conformant JSP Engine implementation will, during it's initialization
- * instantiate an implementation dependent subclass of this class, and make
- * it globally available for use by JSP implementation classes by registering
- * the instance created with this class via the
- * static <code> setDefaultFactory() </code> method.
+ * A conformant JSP Engine implementation will, during it's initialization instantiate an implementation dependent
+ * subclass of this class, and make it globally available for use by JSP implementation classes by registering the
+ * instance created with this class via the static <code> setDefaultFactory() </code> method.
  * <p>
- * The PageContext and the JspEngineInfo classes are the only
- * implementation-dependent classes that can be created from the factory.
+ * The PageContext and the JspEngineInfo classes are the only implementation-dependent classes that can be created from
+ * the factory.
  * <p>
  * JspFactory objects should not be used by JSP page authors.
  */
@@ -45,8 +41,7 @@ public abstract class JspFactory {
     private static volatile JspFactory deflt = null;
 
     /**
-     * Sole constructor. (For invocation by subclass constructors,
-     * typically implicit.)
+     * Sole constructor. (For invocation by subclass constructors, typically implicit.)
      */
     public JspFactory() {
         // NOOP by default
@@ -54,11 +49,11 @@ public abstract class JspFactory {
 
     /**
      * <p>
-     * set the default factory for this implementation. It is illegal for
-     * any principal other than the JSP Engine runtime to call this method.
+     * set the default factory for this implementation. It is illegal for any principal other than the JSP Engine
+     * runtime to call this method.
      * </p>
      *
-     * @param deflt        The default factory implementation
+     * @param deflt The default factory implementation
      */
 
     public static void setDefaultFactory(JspFactory deflt) {
@@ -77,53 +72,42 @@ public abstract class JspFactory {
 
     /**
      * <p>
-     * obtains an instance of an implementation dependent
-     * jakarta.servlet.jsp.PageContext abstract class for the calling Servlet
-     * and currently pending request and response.
+     * obtains an instance of an implementation dependent jakarta.servlet.jsp.PageContext abstract class for the calling
+     * Servlet and currently pending request and response.
      * </p>
-     *
      * <p>
-     * This method is typically called early in the processing of the
-     * _jspService() method of a JSP implementation class in order to
-     * obtain a PageContext object for the request being processed.
+     * This method is typically called early in the processing of the _jspService() method of a JSP implementation class
+     * in order to obtain a PageContext object for the request being processed.
      * </p>
      * <p>
-     * Invoking this method shall result in the PageContext.initialize()
-     * method being invoked. The PageContext returned is properly initialized.
+     * Invoking this method shall result in the PageContext.initialize() method being invoked. The PageContext returned
+     * is properly initialized.
      * </p>
      * <p>
-     * All PageContext objects obtained via this method shall be released
-     * by invoking releasePageContext().
+     * All PageContext objects obtained via this method shall be released by invoking releasePageContext().
      * </p>
      *
      * @param servlet      the requesting servlet
      * @param request      the current request pending on the servlet
      * @param response     the current response pending on the servlet
-     * @param errorPageURL the URL of the error page for the requesting JSP, or
-     *                         null
+     * @param errorPageURL the URL of the error page for the requesting JSP, or null
      * @param needsSession true if the JSP participates in a session
-     * @param buffer       size of buffer in bytes, {@link JspWriter#NO_BUFFER}
-     *                         if no buffer, {@link JspWriter#DEFAULT_BUFFER}
-     *                         if implementation default.
-     * @param autoflush    should the buffer autoflush to the output stream on
-     *                         buffer overflow, or throw an IOException?
+     * @param buffer       size of buffer in bytes, {@link JspWriter#NO_BUFFER} if no buffer,
+     *                         {@link JspWriter#DEFAULT_BUFFER} if implementation default.
+     * @param autoflush    should the buffer autoflush to the output stream on buffer overflow, or throw an IOException?
      *
      * @return the page context
      *
      * @see jakarta.servlet.jsp.PageContext
      */
 
-    public abstract PageContext getPageContext(Servlet servlet,
-            ServletRequest request, ServletResponse response,
-            String errorPageURL, boolean needsSession, int buffer,
-            boolean autoflush);
+    public abstract PageContext getPageContext(Servlet servlet, ServletRequest request, ServletResponse response,
+            String errorPageURL, boolean needsSession, int buffer, boolean autoflush);
 
     /**
      * <p>
-     * called to release a previously allocated PageContext object.
-     * Results in PageContext.release() being invoked.
-     * This method should be invoked prior to returning from the _jspService()
-     * method of a JSP implementation class.
+     * called to release a previously allocated PageContext object. Results in PageContext.release() being invoked. This
+     * method should be invoked prior to returning from the _jspService() method of a JSP implementation class.
      * </p>
      *
      * @param pc A PageContext previously obtained by getPageContext()
@@ -132,8 +116,7 @@ public abstract class JspFactory {
 
     /**
      * <p>
-     * called to get implementation-specific information on the current JSP
-     * engine.
+     * called to get implementation-specific information on the current JSP engine.
      * </p>
      *
      * @return a JspEngineInfo object describing the current JSP engine
@@ -143,15 +126,15 @@ public abstract class JspFactory {
 
     /**
      * <p>
-     * Obtain the <code>JspApplicationContext</code> instance that was
-     * associated within the passed <code>ServletContext</code> for this web
-     * application.
+     * Obtain the <code>JspApplicationContext</code> instance that was associated within the passed
+     * <code>ServletContext</code> for this web application.
      * </p>
      *
      * @param context the current web application's <code>ServletContext</code>
+     *
      * @return <code>JspApplicationContext</code> instance
+     *
      * @since JSP 2.1
      */
-    public abstract JspApplicationContext getJspApplicationContext(
-            ServletContext context);
+    public abstract JspApplicationContext getJspApplicationContext(ServletContext context);
 }
diff --git a/java/jakarta/servlet/jsp/JspPage.java b/java/jakarta/servlet/jsp/JspPage.java
index 078e22623c..c9bc850af4 100644
--- a/java/jakarta/servlet/jsp/JspPage.java
+++ b/java/jakarta/servlet/jsp/JspPage.java
@@ -19,36 +19,29 @@ package jakarta.servlet.jsp;
 import jakarta.servlet.Servlet;
 
 /**
- * The JspPage interface describes the generic interaction that a JSP Page
- * Implementation class must satisfy; pages that use the HTTP protocol
- * are described by the HttpJspPage interface.
- *
- * <p><B>Two plus One Methods</B>
+ * The JspPage interface describes the generic interaction that a JSP Page Implementation class must satisfy; pages that
+ * use the HTTP protocol are described by the HttpJspPage interface.
  * <p>
- * The interface defines a protocol with 3 methods; only two of
- * them: jspInit() and jspDestroy() are part of this interface as
- * the signature of the third method: _jspService() depends on
- * the specific protocol used and cannot be expressed in a generic
- * way in Java.
+ * <B>Two plus One Methods</B>
  * <p>
- * A class implementing this interface is responsible for invoking
- * the above methods at the appropriate time based on the
- * corresponding Servlet-based method invocations.
+ * The interface defines a protocol with 3 methods; only two of them: jspInit() and jspDestroy() are part of this
+ * interface as the signature of the third method: _jspService() depends on the specific protocol used and cannot be
+ * expressed in a generic way in Java.
  * <p>
- * The jspInit() and jspDestroy() methods can be defined by a JSP
- * author, but the _jspService() method is defined automatically
- * by the JSP processor based on the contents of the JSP page.
- *
- * <p><B>_jspService()</B>
+ * A class implementing this interface is responsible for invoking the above methods at the appropriate time based on
+ * the corresponding Servlet-based method invocations.
+ * <p>
+ * The jspInit() and jspDestroy() methods can be defined by a JSP author, but the _jspService() method is defined
+ * automatically by the JSP processor based on the contents of the JSP page.
+ * <p>
+ * <B>_jspService()</B>
  * <p>
- * The _jspService()method corresponds to the body of the JSP page. This
- * method is defined automatically by the JSP container and should never
- * be defined by the JSP page author.
+ * The _jspService()method corresponds to the body of the JSP page. This method is defined automatically by the JSP
+ * container and should never be defined by the JSP page author.
  * <p>
- * If a superclass is specified using the extends attribute, that
- * superclass may choose to perform some actions in its service() method
- * before or after calling the _jspService() method.  See using the extends
- * attribute in the JSP_Engine chapter of the JSP specification.
+ * If a superclass is specified using the extends attribute, that superclass may choose to perform some actions in its
+ * service() method before or after calling the _jspService() method. See using the extends attribute in the JSP_Engine
+ * chapter of the JSP specification.
  * <p>
  * The specific signature depends on the protocol supported by the JSP page.
  *
@@ -63,27 +56,17 @@ import jakarta.servlet.Servlet;
 public interface JspPage extends Servlet {
 
     /**
-     * The jspInit() method is invoked when the JSP page is initialized. It
-     * is the responsibility of the JSP implementation (and of the class
-     * mentioned by the extends attribute, if present) that at this point
-     * invocations to the getServletConfig() method will return the desired
-     * value.
-     *
-     * A JSP page can override this method by including a definition for it
-     * in a declaration element.
-     *
-     * A JSP page should redefine the init() method from Servlet.
+     * The jspInit() method is invoked when the JSP page is initialized. It is the responsibility of the JSP
+     * implementation (and of the class mentioned by the extends attribute, if present) that at this point invocations
+     * to the getServletConfig() method will return the desired value. A JSP page can override this method by including
+     * a definition for it in a declaration element. A JSP page should redefine the init() method from Servlet.
      */
     void jspInit();
 
     /**
-     * The jspDestroy() method is invoked when the JSP page is about to be
-     * destroyed.
-     *
-     * A JSP page can override this method by including a definition for it
-     * in a declaration element.
-     *
-     * A JSP page should redefine the destroy() method from Servlet.
+     * The jspDestroy() method is invoked when the JSP page is about to be destroyed. A JSP page can override this
+     * method by including a definition for it in a declaration element. A JSP page should redefine the destroy() method
+     * from Servlet.
      */
     void jspDestroy();
 
diff --git a/java/jakarta/servlet/jsp/JspTagException.java b/java/jakarta/servlet/jsp/JspTagException.java
index e1064db3a9..9507c9ae89 100644
--- a/java/jakarta/servlet/jsp/JspTagException.java
+++ b/java/jakarta/servlet/jsp/JspTagException.java
@@ -17,21 +17,18 @@
 package jakarta.servlet.jsp;
 
 /**
- * Exception to be used by a Tag Handler to indicate some unrecoverable error.
- * This error is to be caught by the top level of the JSP page and will result
- * in an error page.
+ * Exception to be used by a Tag Handler to indicate some unrecoverable error. This error is to be caught by the top
+ * level of the JSP page and will result in an error page.
  */
 public class JspTagException extends JspException {
 
     private static final long serialVersionUID = 1L;
 
     /**
-     * Constructs a new JspTagException with the specified message. The message
-     * can be written to the server log and/or displayed for the user.
+     * Constructs a new JspTagException with the specified message. The message can be written to the server log and/or
+     * displayed for the user.
      *
-     * @param msg
-     *            a <code>String</code> specifying the text of the exception
-     *            message
+     * @param msg a <code>String</code> specifying the text of the exception message
      */
     public JspTagException(String msg) {
         super(msg);
@@ -45,17 +42,13 @@ public class JspTagException extends JspException {
     }
 
     /**
-     * Constructs a new JspTagException when the JSP Tag needs to throw an
-     * exception and include a message about the "root cause" exception that
-     * interfered with its normal operation, including a description message.
+     * Constructs a new JspTagException when the JSP Tag needs to throw an exception and include a message about the
+     * "root cause" exception that interfered with its normal operation, including a description message.
+     *
+     * @param message   a <code>String</code> containing the text of the exception message
+     * @param rootCause the <code>Throwable</code> exception that interfered with the JSP Tag's normal operation, making
+     *                      this JSP Tag exception necessary
      *
-     * @param message
-     *            a <code>String</code> containing the text of the exception
-     *            message
-     * @param rootCause
-     *            the <code>Throwable</code> exception that interfered with the
-     *            JSP Tag's normal operation, making this JSP Tag exception
-     *            necessary
      * @since JSP 2.0
      */
     public JspTagException(String message, Throwable rootCause) {
@@ -63,20 +56,17 @@ public class JspTagException extends JspException {
     }
 
     /**
-     * Constructs a new JSP Tag exception when the JSP Tag needs to throw an
-     * exception and include a message about the "root cause" exception that
-     * interfered with its normal operation. The exception's message is based on
-     * the localized message of the underlying exception.
+     * Constructs a new JSP Tag exception when the JSP Tag needs to throw an exception and include a message about the
+     * "root cause" exception that interfered with its normal operation. The exception's message is based on the
+     * localized message of the underlying exception.
      * <p>
-     * This method calls the <code>getLocalizedMessage</code> method on the
-     * <code>Throwable</code> exception to get a localized exception message.
-     * When subclassing <code>JspTagException</code>, this method can be
-     * overridden to create an exception message designed for a specific locale.
+     * This method calls the <code>getLocalizedMessage</code> method on the <code>Throwable</code> exception to get a
+     * localized exception message. When subclassing <code>JspTagException</code>, this method can be overridden to
+     * create an exception message designed for a specific locale.
+     *
+     * @param rootCause the <code>Throwable</code> exception that interfered with the JSP Tag's normal operation, making
+     *                      the JSP Tag exception necessary
      *
-     * @param rootCause
-     *            the <code>Throwable</code> exception that interfered with the
-     *            JSP Tag's normal operation, making the JSP Tag exception
-     *            necessary
      * @since JSP 2.0
      */
     public JspTagException(Throwable rootCause) {
diff --git a/java/jakarta/servlet/jsp/JspWriter.java b/java/jakarta/servlet/jsp/JspWriter.java
index c196ace91c..7a0eb2e9ff 100644
--- a/java/jakarta/servlet/jsp/JspWriter.java
+++ b/java/jakarta/servlet/jsp/JspWriter.java
@@ -20,57 +20,42 @@ import java.io.IOException;
 
 /**
  * <p>
- * The actions and template data in a JSP page is written using the JspWriter
- * object that is referenced by the implicit variable out which is initialized
- * automatically using methods in the PageContext object.
+ * The actions and template data in a JSP page is written using the JspWriter object that is referenced by the implicit
+ * variable out which is initialized automatically using methods in the PageContext object.
  * <p>
- * This abstract class emulates some of the functionality found in the
- * java.io.BufferedWriter and java.io.PrintWriter classes, however it differs in
- * that it throws java.io.IOException from the print methods while PrintWriter
- * does not.
+ * This abstract class emulates some of the functionality found in the java.io.BufferedWriter and java.io.PrintWriter
+ * classes, however it differs in that it throws java.io.IOException from the print methods while PrintWriter does not.
  * <p>
  * <B>Buffering</B>
  * <p>
- * The initial JspWriter object is associated with the PrintWriter object of the
- * ServletResponse in a way that depends on whether the page is or is not
- * buffered. If the page is not buffered, output written to this JspWriter
- * object will be written through to the PrintWriter directly, which will be
- * created if necessary by invoking the getWriter() method on the response
- * object. But if the page is buffered, the PrintWriter object will not be
- * created until the buffer is flushed and operations like setContentType() are
- * legal. Since this flexibility simplifies programming substantially, buffering
- * is the default for JSP pages.
+ * The initial JspWriter object is associated with the PrintWriter object of the ServletResponse in a way that depends
+ * on whether the page is or is not buffered. If the page is not buffered, output written to this JspWriter object will
+ * be written through to the PrintWriter directly, which will be created if necessary by invoking the getWriter() method
+ * on the response object. But if the page is buffered, the PrintWriter object will not be created until the buffer is
+ * flushed and operations like setContentType() are legal. Since this flexibility simplifies programming substantially,
+ * buffering is the default for JSP pages.
  * <p>
- * Buffering raises the issue of what to do when the buffer is exceeded. Two
- * approaches can be taken:
+ * Buffering raises the issue of what to do when the buffer is exceeded. Two approaches can be taken:
  * <ul>
- * <li>Exceeding the buffer is not a fatal error; when the buffer is exceeded,
- * just flush the output.
- * <li>Exceeding the buffer is a fatal error; when the buffer is exceeded, raise
- * an exception.
+ * <li>Exceeding the buffer is not a fatal error; when the buffer is exceeded, just flush the output.
+ * <li>Exceeding the buffer is a fatal error; when the buffer is exceeded, raise an exception.
  * </ul>
  * <p>
- * Both approaches are valid, and thus both are supported in the JSP technology.
- * The behavior of a page is controlled by the autoFlush attribute, which
- * defaults to true. In general, JSP pages that need to be sure that correct and
- * complete data has been sent to their client may want to set autoFlush to
- * false, with a typical case being that where the client is an application
- * itself. On the other hand, JSP pages that send data that is meaningful even
- * when partially constructed may want to set autoFlush to true; such as when
- * the data is sent for immediate display through a browser. Each application
- * will need to consider their specific needs.
+ * Both approaches are valid, and thus both are supported in the JSP technology. The behavior of a page is controlled by
+ * the autoFlush attribute, which defaults to true. In general, JSP pages that need to be sure that correct and complete
+ * data has been sent to their client may want to set autoFlush to false, with a typical case being that where the
+ * client is an application itself. On the other hand, JSP pages that send data that is meaningful even when partially
+ * constructed may want to set autoFlush to true; such as when the data is sent for immediate display through a browser.
+ * Each application will need to consider their specific needs.
  * <p>
- * An alternative considered was to make the buffer size unbounded; but, this
- * had the disadvantage that runaway computations would consume an unbounded
- * amount of resources.
+ * An alternative considered was to make the buffer size unbounded; but, this had the disadvantage that runaway
+ * computations would consume an unbounded amount of resources.
  * <p>
- * The "out" implicit variable of a JSP implementation class is of this type. If
- * the page directive selects autoflush="true" then all the I/O operations on
- * this class shall automatically flush the contents of the buffer if an
- * overflow condition would result if the current operation were performed
- * without a flush. If autoflush="false" then all the I/O operations on this
- * class shall throw an IOException if performing the current operation would
- * result in a buffer overflow condition.
+ * The "out" implicit variable of a JSP implementation class is of this type. If the page directive selects
+ * autoflush="true" then all the I/O operations on this class shall automatically flush the contents of the buffer if an
+ * overflow condition would result if the current operation were performed without a flush. If autoflush="false" then
+ * all the I/O operations on this class shall throw an IOException if performing the current operation would result in a
+ * buffer overflow condition.
  *
  * @see java.io.Writer
  * @see java.io.BufferedWriter
@@ -84,24 +69,20 @@ public abstract class JspWriter extends java.io.Writer {
     public static final int NO_BUFFER = 0;
 
     /**
-     * Constant indicating that the Writer is buffered and is using the
-     * implementation default buffer size.
+     * Constant indicating that the Writer is buffered and is using the implementation default buffer size.
      */
     public static final int DEFAULT_BUFFER = -1;
 
     /**
-     * Constant indicating that the Writer is buffered and is unbounded; this is
-     * used in BodyContent.
+     * Constant indicating that the Writer is buffered and is unbounded; this is used in BodyContent.
      */
     public static final int UNBOUNDED_BUFFER = -2;
 
     /**
      * Protected constructor.
      *
-     * @param bufferSize
-     *            the size of the buffer to be used by the JspWriter
-     * @param autoFlush
-     *            whether the JspWriter should be autoflushing
+     * @param bufferSize the size of the buffer to be used by the JspWriter
+     * @param autoFlush  whether the JspWriter should be autoflushing
      */
     protected JspWriter(int bufferSize, boolean autoFlush) {
         this.bufferSize = bufferSize;
@@ -109,293 +90,250 @@ public abstract class JspWriter extends java.io.Writer {
     }
 
     /**
-     * Write a line separator. The line separator string is defined by the
-     * system property <code>line.separator</code>, and is not necessarily a
-     * single newline ('\n') character.
+     * Write a line separator. The line separator string is defined by the system property <code>line.separator</code>,
+     * and is not necessarily a single newline ('\n') character.
      *
-     * @exception IOException
-     *                If an I/O error occurs
+     * @exception IOException If an I/O error occurs
      */
     public abstract void newLine() throws IOException;
 
     /**
      * Print a boolean value. The string produced by <code>{@link
-     * java.lang.String#valueOf(boolean)}</code>
-     * is written to the JspWriter's buffer or, if no buffer is used, directly
+     * java.lang.String#valueOf(boolean)}</code> is written to the JspWriter's buffer or, if no buffer is used, directly
      * to the underlying writer.
      *
-     * @param b
-     *            The <code>boolean</code> to be printed
-     * @throws java.io.IOException
-     *             If an error occurred while writing
+     * @param b The <code>boolean</code> to be printed
+     *
+     * @throws java.io.IOException If an error occurred while writing
      */
     public abstract void print(boolean b) throws IOException;
 
     /**
-     * Print a character. The character is written to the JspWriter's buffer or,
-     * if no buffer is used, directly to the underlying writer.
+     * Print a character. The character is written to the JspWriter's buffer or, if no buffer is used, directly to the
+     * underlying writer.
+     *
+     * @param c The <code>char</code> to be printed
      *
-     * @param c
-     *            The <code>char</code> to be printed
-     * @throws java.io.IOException
-     *             If an error occurred while writing
+     * @throws java.io.IOException If an error occurred while writing
      */
     public abstract void print(char c) throws IOException;
 
     /**
      * Print an integer. The string produced by <code>{@link
-     * java.lang.String#valueOf(int)}</code>
-     * is written to the JspWriter's buffer or, if no buffer is used, directly
-     * to the underlying writer.
+     * java.lang.String#valueOf(int)}</code> is written to the JspWriter's buffer or, if no buffer is used, directly to
+     * the underlying writer.
+     *
+     * @param i The <code>int</code> to be printed
      *
-     * @param i
-     *            The <code>int</code> to be printed
      * @see java.lang.Integer#toString(int)
-     * @throws java.io.IOException
-     *             If an error occurred while writing
+     *
+     * @throws java.io.IOException If an error occurred while writing
      */
     public abstract void print(int i) throws IOException;
 
     /**
      * Print a long integer. The string produced by <code>{@link
-     * java.lang.String#valueOf(long)}</code>
-     * is written to the JspWriter's buffer or, if no buffer is used, directly
-     * to the underlying writer.
+     * java.lang.String#valueOf(long)}</code> is written to the JspWriter's buffer or, if no buffer is used, directly to
+     * the underlying writer.
+     *
+     * @param l The <code>long</code> to be printed
      *
-     * @param l
-     *            The <code>long</code> to be printed
      * @see java.lang.Long#toString(long)
-     * @throws java.io.IOException
-     *             If an error occurred while writing
+     *
+     * @throws java.io.IOException If an error occurred while writing
      */
     public abstract void print(long l) throws IOException;
 
     /**
      * Print a floating-point number. The string produced by <code>{@link
-     * java.lang.String#valueOf(float)}</code>
-     * is written to the JspWriter's buffer or, if no buffer is used, directly
+     * java.lang.String#valueOf(float)}</code> is written to the JspWriter's buffer or, if no buffer is used, directly
      * to the underlying writer.
      *
-     * @param f
-     *            The <code>float</code> to be printed
+     * @param f The <code>float</code> to be printed
+     *
      * @see java.lang.Float#toString(float)
-     * @throws java.io.IOException
-     *             If an error occurred while writing
+     *
+     * @throws java.io.IOException If an error occurred while writing
      */
     public abstract void print(float f) throws IOException;
 
     /**
      * Print a double-precision floating-point number. The string produced by
-     * <code>{@link java.lang.String#valueOf(double)}</code> is written to the
-     * JspWriter's buffer or, if no buffer is used, directly to the underlying
-     * writer.
+     * <code>{@link java.lang.String#valueOf(double)}</code> is written to the JspWriter's buffer or, if no buffer is
+     * used, directly to the underlying writer.
+     *
+     * @param d The <code>double</code> to be printed
      *
-     * @param d
-     *            The <code>double</code> to be printed
      * @see java.lang.Double#toString(double)
-     * @throws java.io.IOException
-     *             If an error occurred while writing
+     *
+     * @throws java.io.IOException If an error occurred while writing
      */
     public abstract void print(double d) throws IOException;
 
     /**
-     * Print an array of characters. The characters are written to the
-     * JspWriter's buffer or, if no buffer is used, directly to the underlying
-     * writer.
+     * Print an array of characters. The characters are written to the JspWriter's buffer or, if no buffer is used,
+     * directly to the underlying writer.
      *
-     * @param s
-     *            The array of chars to be printed
-     * @throws NullPointerException
-     *             If <code>s</code> is <code>null</code>
-     * @throws java.io.IOException
-     *             If an error occurred while writing
+     * @param s The array of chars to be printed
+     *
+     * @throws NullPointerException If <code>s</code> is <code>null</code>
+     * @throws java.io.IOException  If an error occurred while writing
      */
     public abstract void print(char s[]) throws IOException;
 
     /**
-     * Print a string. If the argument is <code>null</code> then the string
-     * <code>"null"</code> is printed. Otherwise, the string's characters are
-     * written to the JspWriter's buffer or, if no buffer is used, directly to
-     * the underlying writer.
+     * Print a string. If the argument is <code>null</code> then the string <code>"null"</code> is printed. Otherwise,
+     * the string's characters are written to the JspWriter's buffer or, if no buffer is used, directly to the
+     * underlying writer.
      *
-     * @param s
-     *            The <code>String</code> to be printed
-     * @throws java.io.IOException
-     *             If an error occurred while writing
+     * @param s The <code>String</code> to be printed
+     *
+     * @throws java.io.IOException If an error occurred while writing
      */
     public abstract void print(String s) throws IOException;
 
     /**
      * Print an object. The string produced by the <code>{@link
-     * java.lang.String#valueOf(Object)}</code>
-     * method is written to the JspWriter's buffer or, if no buffer is used,
+     * java.lang.String#valueOf(Object)}</code> method is written to the JspWriter's buffer or, if no buffer is used,
      * directly to the underlying writer.
      *
-     * @param obj
-     *            The <code>Object</code> to be printed
+     * @param obj The <code>Object</code> to be printed
+     *
      * @see java.lang.Object#toString()
-     * @throws java.io.IOException
-     *             If an error occurred while writing
+     *
+     * @throws java.io.IOException If an error occurred while writing
      */
     public abstract void print(Object obj) throws IOException;
 
     /**
-     * Terminate the current line by writing the line separator string. The line
-     * separator string is defined by the system property
-     * <code>line.separator</code>, and is not necessarily a single newline
-     * character (<code>'\n'</code>).
+     * Terminate the current line by writing the line separator string. The line separator string is defined by the
+     * system property <code>line.separator</code>, and is not necessarily a single newline character
+     * (<code>'\n'</code>).
      *
-     * @throws java.io.IOException
-     *             If an error occurred while writing
+     * @throws java.io.IOException If an error occurred while writing
      */
     public abstract void println() throws IOException;
 
     /**
-     * Print a boolean value and then terminate the line. This method behaves as
-     * though it invokes <code>{@link #print(boolean)}</code> and then
-     * <code>{@link #println()}</code>.
+     * Print a boolean value and then terminate the line. This method behaves as though it invokes
+     * <code>{@link #print(boolean)}</code> and then <code>{@link #println()}</code>.
+     *
+     * @param x the boolean to write
      *
-     * @param x
-     *            the boolean to write
-     * @throws java.io.IOException
-     *             If an error occurred while writing
+     * @throws java.io.IOException If an error occurred while writing
      */
     public abstract void println(boolean x) throws IOException;
 
     /**
-     * Print a character and then terminate the line. This method behaves as
-     * though it invokes <code>{@link #print(char)}</code> and then <code>{@link
-     * #println()}</code>
-     * .
+     * Print a character and then terminate the line. This method behaves as though it invokes
+     * <code>{@link #print(char)}</code> and then <code>{@link
+     * #println()}</code> .
+     *
+     * @param x the char to write
      *
-     * @param x
-     *            the char to write
-     * @throws java.io.IOException
-     *             If an error occurred while writing
+     * @throws java.io.IOException If an error occurred while writing
      */
     public abstract void println(char x) throws IOException;
 
     /**
-     * Print an integer and then terminate the line. This method behaves as
-     * though it invokes <code>{@link #print(int)}</code> and then <code>{@link
-     * #println()}</code>
-     * .
+     * Print an integer and then terminate the line. This method behaves as though it invokes
+     * <code>{@link #print(int)}</code> and then <code>{@link
+     * #println()}</code> .
      *
-     * @param x
-     *            the int to write
-     * @throws java.io.IOException
-     *             If an error occurred while writing
+     * @param x the int to write
+     *
+     * @throws java.io.IOException If an error occurred while writing
      */
     public abstract void println(int x) throws IOException;
 
     /**
-     * Print a long integer and then terminate the line. This method behaves as
-     * though it invokes <code>{@link #print(long)}</code> and then
-     * <code>{@link #println()}</code>.
+     * Print a long integer and then terminate the line. This method behaves as though it invokes
+     * <code>{@link #print(long)}</code> and then <code>{@link #println()}</code>.
+     *
+     * @param x the long to write
      *
-     * @param x
-     *            the long to write
-     * @throws java.io.IOException
-     *             If an error occurred while writing
+     * @throws java.io.IOException If an error occurred while writing
      */
     public abstract void println(long x) throws IOException;
 
     /**
-     * Print a floating-point number and then terminate the line. This method
-     * behaves as though it invokes <code>{@link #print(float)}</code> and then
-     * <code>{@link #println()}</code>.
+     * Print a floating-point number and then terminate the line. This method behaves as though it invokes
+     * <code>{@link #print(float)}</code> and then <code>{@link #println()}</code>.
      *
-     * @param x
-     *            the float to write
-     * @throws java.io.IOException
-     *             If an error occurred while writing
+     * @param x the float to write
+     *
+     * @throws java.io.IOException If an error occurred while writing
      */
     public abstract void println(float x) throws IOException;
 
     /**
-     * Print a double-precision floating-point number and then terminate the
-     * line. This method behaves as though it invokes <code>{@link
-     * #print(double)}</code> and
-     * then <code>{@link #println()}</code>.
+     * Print a double-precision floating-point number and then terminate the line. This method behaves as though it
+     * invokes <code>{@link
+     * #print(double)}</code> and then <code>{@link #println()}</code>.
+     *
+     * @param x the double to write
      *
-     * @param x
-     *            the double to write
-     * @throws java.io.IOException
-     *             If an error occurred while writing
+     * @throws java.io.IOException If an error occurred while writing
      */
     public abstract void println(double x) throws IOException;
 
     /**
-     * Print an array of characters and then terminate the line. This method
-     * behaves as though it invokes <code>print(char[])</code> and then
-     * <code>println()</code>.
+     * Print an array of characters and then terminate the line. This method behaves as though it invokes
+     * <code>print(char[])</code> and then <code>println()</code>.
      *
-     * @param x
-     *            the char[] to write
-     * @throws java.io.IOException
-     *             If an error occurred while writing
+     * @param x the char[] to write
+     *
+     * @throws java.io.IOException If an error occurred while writing
      */
     public abstract void println(char x[]) throws IOException;
 
     /**
-     * Print a String and then terminate the line. This method behaves as though
-     * it invokes <code>{@link #print(String)}</code> and then
-     * <code>{@link #println()}</code>.
+     * Print a String and then terminate the line. This method behaves as though it invokes
+     * <code>{@link #print(String)}</code> and then <code>{@link #println()}</code>.
+     *
+     * @param x the String to write
      *
-     * @param x
-     *            the String to write
-     * @throws java.io.IOException
-     *             If an error occurred while writing
+     * @throws java.io.IOException If an error occurred while writing
      */
     public abstract void println(String x) throws IOException;
 
     /**
-     * Print an Object and then terminate the line. This method behaves as
-     * though it invokes <code>{@link #print(Object)}</code> and then
-     * <code>{@link #println()}</code>.
+     * Print an Object and then terminate the line. This method behaves as though it invokes
+     * <code>{@link #print(Object)}</code> and then <code>{@link #println()}</code>.
+     *
+     * @param x the Object to write
      *
-     * @param x
-     *            the Object to write
-     * @throws java.io.IOException
-     *             If an error occurred while writing
+     * @throws java.io.IOException If an error occurred while writing
      */
     public abstract void println(Object x) throws IOException;
 
     /**
-     * Clear the contents of the buffer. If the buffer has been already been
-     * flushed then the clear operation shall throw an IOException to signal the
-     * fact that some data has already been irrevocably written to the client
+     * Clear the contents of the buffer. If the buffer has been already been flushed then the clear operation shall
+     * throw an IOException to signal the fact that some data has already been irrevocably written to the client
      * response stream.
      *
-     * @throws IOException
-     *             If an I/O error occurs
+     * @throws IOException If an I/O error occurs
      */
     public abstract void clear() throws IOException;
 
     /**
-     * Clears the current contents of the buffer. Unlike clear(), this method
-     * will not throw an IOException if the buffer has already been flushed. It
-     * merely clears the current content of the buffer and returns.
+     * Clears the current contents of the buffer. Unlike clear(), this method will not throw an IOException if the
+     * buffer has already been flushed. It merely clears the current content of the buffer and returns.
      *
-     * @throws IOException
-     *             If an I/O error occurs
+     * @throws IOException If an I/O error occurs
      */
     public abstract void clearBuffer() throws IOException;
 
     /**
-     * Flush the stream. If the stream has saved any characters from the various
-     * write() methods in a buffer, write them immediately to their intended
-     * destination. Then, if that destination is another character or byte
-     * stream, flush it. Thus one flush() invocation will flush all the buffers
-     * in a chain of Writers and OutputStreams.
+     * Flush the stream. If the stream has saved any characters from the various write() methods in a buffer, write them
+     * immediately to their intended destination. Then, if that destination is another character or byte stream, flush
+     * it. Thus one flush() invocation will flush all the buffers in a chain of Writers and OutputStreams.
      * <p>
      * The method may be invoked indirectly if the buffer size is exceeded.
      * <p>
-     * Once a stream has been closed, further write() or flush() invocations
-     * will cause an IOException to be thrown.
+     * Once a stream has been closed, further write() or flush() invocations will cause an IOException to be thrown.
      *
-     * @exception IOException
-     *                If an I/O error occurs
+     * @exception IOException If an I/O error occurs
      */
     @Override
     public abstract void flush() throws IOException;
@@ -403,14 +341,12 @@ public abstract class JspWriter extends java.io.Writer {
     /**
      * Close the stream, flushing it first.
      * <p>
-     * This method needs not be invoked explicitly for the initial JspWriter as
-     * the code generated by the JSP container will automatically include a call
-     * to close().
+     * This method needs not be invoked explicitly for the initial JspWriter as the code generated by the JSP container
+     * will automatically include a call to close().
      * <p>
      * Closing a previously-closed stream, unlike flush(), has no effect.
      *
-     * @exception IOException
-     *                If an I/O error occurs
+     * @exception IOException If an I/O error occurs
      */
     @Override
     public abstract void close() throws IOException;
@@ -434,8 +370,7 @@ public abstract class JspWriter extends java.io.Writer {
     /**
      * This method indicates whether the JspWriter is autoFlushing.
      *
-     * @return if this JspWriter is auto flushing or throwing IOExceptions on
-     *         buffer overflow conditions
+     * @return if this JspWriter is auto flushing or throwing IOExceptions on buffer overflow conditions
      */
     public boolean isAutoFlush() {
         return autoFlush;
diff --git a/java/jakarta/servlet/jsp/PageContext.java b/java/jakarta/servlet/jsp/PageContext.java
index c6cfa91700..dacf8e1e93 100644
--- a/java/jakarta/servlet/jsp/PageContext.java
+++ b/java/jakarta/servlet/jsp/PageContext.java
@@ -30,101 +30,83 @@ import jakarta.servlet.jsp.tagext.BodyContent;
 
 /**
  * <p>
- * PageContext extends JspContext to provide useful context information for
- * when JSP technology is used in a Servlet environment.
+ * PageContext extends JspContext to provide useful context information for when JSP technology is used in a Servlet
+ * environment.
  * <p>
- * A PageContext instance provides access to all the namespaces associated
- * with a JSP page, provides access to several page attributes, as well as
- * a layer above the implementation details.  Implicit objects are added
- * to the pageContext automatically.
- *
- * <p> The <code> PageContext </code> class is an abstract class, designed to be
- * extended to provide implementation dependent implementations thereof, by
- * conformant JSP engine runtime environments. A PageContext instance is
- * obtained by a JSP implementation class by calling the
- * JspFactory.getPageContext() method, and is released by calling
+ * A PageContext instance provides access to all the namespaces associated with a JSP page, provides access to several
+ * page attributes, as well as a layer above the implementation details. Implicit objects are added to the pageContext
+ * automatically.
+ * <p>
+ * The <code> PageContext </code> class is an abstract class, designed to be extended to provide implementation
+ * dependent implementations thereof, by conformant JSP engine runtime environments. A PageContext instance is obtained
+ * by a JSP implementation class by calling the JspFactory.getPageContext() method, and is released by calling
  * JspFactory.releasePageContext().
- *
- * <p> An example of how PageContext, JspFactory, and other classes can be
- * used  within a JSP Page Implementation object is given elsewhere.
- *
  * <p>
- * The PageContext provides a number of facilities to the page/component
- * author and page implementor, including:
+ * An example of how PageContext, JspFactory, and other classes can be used within a JSP Page Implementation object is
+ * given elsewhere.
+ * <p>
+ * The PageContext provides a number of facilities to the page/component author and page implementor, including:
  * <ul>
  * <li>a single API to manage the various scoped namespaces
  * <li>a number of convenience API's to access various public objects
  * <li>a mechanism to obtain the JspWriter for output
  * <li>a mechanism to manage session usage by the page
- * <li>a mechanism to expose page directive attributes to the scripting
- *     environment
- * <li>mechanisms to forward or include the current request to other active
- *     components in the application
+ * <li>a mechanism to expose page directive attributes to the scripting environment
+ * <li>mechanisms to forward or include the current request to other active components in the application
  * <li>a mechanism to handle errorpage exception processing
  * </ul>
- *
- * <p><B>Methods Intended for Container Generated Code</B>
- * <p>Some methods are intended to be used by the code generated by the
- * container, not by code written by JSP page authors, or JSP tag library
- * authors.
- * <p>The methods supporting <B>lifecycle</B> are <code>initialize()</code>
- * and <code>release()</code>
- *
  * <p>
- * The following methods enable the <B>management of nested</B> JspWriter
- * streams to implement Tag Extensions: <code>pushBody()</code>
- *
- * <p><B>Methods Intended for JSP authors</B>
+ * <B>Methods Intended for Container Generated Code</B>
  * <p>
- * The following methods provide <B>convenient access</B> to implicit objects:
- * <code>getException()</code>,  <code>getPage()</code>
- * <code>getRequest()</code>,  <code>getResponse()</code>,
- * <code>getSession()</code>,  <code>getServletConfig()</code>
- * and <code>getServletContext()</code>.
- *
+ * Some methods are intended to be used by the code generated by the container, not by code written by JSP page authors,
+ * or JSP tag library authors.
+ * <p>
+ * The methods supporting <B>lifecycle</B> are <code>initialize()</code> and <code>release()</code>
+ * <p>
+ * The following methods enable the <B>management of nested</B> JspWriter streams to implement Tag Extensions:
+ * <code>pushBody()</code>
  * <p>
- * The following methods provide support for <B>forwarding, inclusion
- * and error handling</B>:
- * <code>forward()</code>,  <code>include()</code>,
- * and  <code>handlePageException()</code>.
+ * <B>Methods Intended for JSP authors</B>
+ * <p>
+ * The following methods provide <B>convenient access</B> to implicit objects: <code>getException()</code>,
+ * <code>getPage()</code> <code>getRequest()</code>, <code>getResponse()</code>, <code>getSession()</code>,
+ * <code>getServletConfig()</code> and <code>getServletContext()</code>.
+ * <p>
+ * The following methods provide support for <B>forwarding, inclusion and error handling</B>: <code>forward()</code>,
+ * <code>include()</code>, and <code>handlePageException()</code>.
  */
 public abstract class PageContext extends JspContext {
 
     /**
-     * Sole constructor. (For invocation by subclass constructors,
-     * typically implicit.)
+     * Sole constructor. (For invocation by subclass constructors, typically implicit.)
      */
     public PageContext() {
         // NOOP by default
     }
 
     /**
-     * Page scope: (this is the default) the named reference remains available
-     * in this PageContext until the return from the current Servlet.service()
-     * invocation.
+     * Page scope: (this is the default) the named reference remains available in this PageContext until the return from
+     * the current Servlet.service() invocation.
      */
 
     public static final int PAGE_SCOPE = 1;
 
     /**
-     * Request scope: the named reference remains available from the
-     * ServletRequest associated with the Servlet until the current request
-     * is completed.
+     * Request scope: the named reference remains available from the ServletRequest associated with the Servlet until
+     * the current request is completed.
      */
 
     public static final int REQUEST_SCOPE = 2;
 
     /**
-     * Session scope (only valid if this page participates in a session):
-     * the named reference remains available from the HttpSession (if any)
-     * associated with the Servlet until the HttpSession is invalidated.
+     * Session scope (only valid if this page participates in a session): the named reference remains available from the
+     * HttpSession (if any) associated with the Servlet until the HttpSession is invalidated.
      */
 
     public static final int SESSION_SCOPE = 3;
 
     /**
-     * Application scope: named reference remains available in the
-     * ServletContext until it is reclaimed.
+     * Application scope: named reference remains available in the ServletContext until it is reclaimed.
      */
 
     public static final int APPLICATION_SCOPE = 4;
@@ -177,45 +159,34 @@ public abstract class PageContext extends JspContext {
     public static final String APPLICATION = "jakarta.servlet.jsp.jspApplication";
 
     /**
-     * Name used to store uncaught exception in ServletRequest attribute
-     * list and PageContext name table.
+     * Name used to store uncaught exception in ServletRequest attribute list and PageContext name table.
      */
 
     public static final String EXCEPTION = "jakarta.servlet.jsp.jspException";
 
     /**
      * <p>
-     * The initialize method is called to initialize an uninitialized PageContext
-     * so that it may be used by a JSP Implementation class to service an
-     * incoming request and response within it's _jspService() method.
-     *
+     * The initialize method is called to initialize an uninitialized PageContext so that it may be used by a JSP
+     * Implementation class to service an incoming request and response within it's _jspService() method.
      * <p>
-     * This method is typically called from JspFactory.getPageContext() in
-     * order to initialize state.
-     *
+     * This method is typically called from JspFactory.getPageContext() in order to initialize state.
      * <p>
-     * This method is required to create an initial JspWriter, and associate
-     * the "out" name in page scope with this newly created object.
-     *
+     * This method is required to create an initial JspWriter, and associate the "out" name in page scope with this
+     * newly created object.
      * <p>
      * This method should not be used by page or tag library authors.
      *
-     * @param servlet The Servlet that is associated with this PageContext
-     * @param request The currently pending request for this Servlet
-     * @param response The currently pending response for this Servlet
-     * @param errorPageURL The value of the errorpage attribute from the page
-     *     directive or null
-     * @param needsSession The value of the session attribute from the
-     *     page directive
-     * @param bufferSize The value of the buffer attribute from the page
-     *     directive
-     * @param autoFlush The value of the autoflush attribute from the page
-     *     directive
-     *
-     * @throws IOException during creation of JspWriter
-     * @throws IllegalStateException if out not correctly initialized
-     * @throws IllegalArgumentException If one of the given parameters
-     *     is invalid
+     * @param servlet      The Servlet that is associated with this PageContext
+     * @param request      The currently pending request for this Servlet
+     * @param response     The currently pending response for this Servlet
+     * @param errorPageURL The value of the errorpage attribute from the page directive or null
+     * @param needsSession The value of the session attribute from the page directive
+     * @param bufferSize   The value of the buffer attribute from the page directive
+     * @param autoFlush    The value of the autoflush attribute from the page directive
+     *
+     * @throws IOException              during creation of JspWriter
+     * @throws IllegalStateException    if out not correctly initialized
+     * @throws IllegalArgumentException If one of the given parameters is invalid
      */
 
     public abstract void initialize(Servlet servlet, ServletRequest request, ServletResponse response,
@@ -224,17 +195,13 @@ public abstract class PageContext extends JspContext {
 
     /**
      * <p>
-     * This method shall "reset" the internal state of a PageContext, releasing
-     * all internal references, and preparing the PageContext for potential
-     * reuse by a later invocation of initialize(). This method is typically
-     * called from JspFactory.releasePageContext().
-     *
+     * This method shall "reset" the internal state of a PageContext, releasing all internal references, and preparing
+     * the PageContext for potential reuse by a later invocation of initialize(). This method is typically called from
+     * JspFactory.releasePageContext().
      * <p>
      * Subclasses shall envelope this method.
-     *
      * <p>
-     * This method should not be used by page  or tag library authors.
-     *
+     * This method should not be used by page or tag library authors.
      */
 
     public abstract void release();
@@ -248,11 +215,9 @@ public abstract class PageContext extends JspContext {
     public abstract HttpSession getSession();
 
     /**
-     * The current value of the page object (In a Servlet environment,
-     * this is an instance of jakarta.servlet.Servlet).
+     * The current value of the page object (In a Servlet environment, this is an instance of jakarta.servlet.Servlet).
      *
-     * @return the Page implementation class instance associated
-     *     with this PageContext
+     * @return the Page implementation class instance associated with this PageContext
      */
 
     public abstract Object getPage();
@@ -300,192 +265,151 @@ public abstract class PageContext extends JspContext {
 
     /**
      * <p>
-     * This method is used to re-direct, or "forward" the current
-     * ServletRequest and ServletResponse to another active component in
-     * the application.
+     * This method is used to re-direct, or "forward" the current ServletRequest and ServletResponse to another active
+     * component in the application.
      * </p>
      * <p>
-     * If the <I> relativeUrlPath </I> begins with a "/" then the URL specified
-     * is calculated relative to the DOCROOT of the <code> ServletContext </code>
-     * for this JSP. If the path does not begin with a "/" then the URL
-     * specified is calculated relative to the URL of the request that was
-     * mapped to the calling JSP.
+     * If the <I> relativeUrlPath </I> begins with a "/" then the URL specified is calculated relative to the DOCROOT of
+     * the <code> ServletContext </code> for this JSP. If the path does not begin with a "/" then the URL specified is
+     * calculated relative to the URL of the request that was mapped to the calling JSP.
      * </p>
      * <p>
-     * It is only valid to call this method from a <code> Thread </code>
-     * executing within a <code> _jspService(...) </code> method of a JSP.
+     * It is only valid to call this method from a <code> Thread </code> executing within a
+     * <code> _jspService(...) </code> method of a JSP.
      * </p>
      * <p>
-     * Once this method has been called successfully, it is illegal for the
-     * calling <code> Thread </code> to attempt to modify the <code>
-     * ServletResponse </code> object.  Any such attempt to do so, shall result
-     * in undefined behavior. Typically, callers immediately return from
-     * <code> _jspService(...) </code> after calling this method.
+     * Once this method has been called successfully, it is illegal for the calling <code> Thread </code> to attempt to
+     * modify the <code>
+     * ServletResponse </code> object. Any such attempt to do so, shall result in undefined behavior. Typically, callers
+     * immediately return from <code> _jspService(...) </code> after calling this method.
      * </p>
      *
-     * @param relativeUrlPath specifies the relative URL path to the target
-     *     resource as described above
+     * @param relativeUrlPath specifies the relative URL path to the target resource as described above
      *
-     * @throws IllegalStateException if <code> ServletResponse </code> is not
-     *     in a state where a forward can be performed
-     * @throws ServletException if the page that was forwarded to throws
-     *     a ServletException
-     * @throws IOException if an I/O error occurred while forwarding
+     * @throws IllegalStateException if <code> ServletResponse </code> is not in a state where a forward can be
+     *                                   performed
+     * @throws ServletException      if the page that was forwarded to throws a ServletException
+     * @throws IOException           if an I/O error occurred while forwarding
      */
 
-    public abstract void forward(String relativeUrlPath)
-        throws ServletException, IOException;
+    public abstract void forward(String relativeUrlPath) throws ServletException, IOException;
 
     /**
      * <p>
-     * Causes the resource specified to be processed as part of the current
-     * ServletRequest and ServletResponse being processed by the calling Thread.
-     * The output of the target resources processing of the request is written
-     * directly to the ServletResponse output stream.
+     * Causes the resource specified to be processed as part of the current ServletRequest and ServletResponse being
+     * processed by the calling Thread. The output of the target resources processing of the request is written directly
+     * to the ServletResponse output stream.
      * </p>
      * <p>
-     * The current JspWriter "out" for this JSP is flushed as a side-effect
-     * of this call, prior to processing the include.
+     * The current JspWriter "out" for this JSP is flushed as a side-effect of this call, prior to processing the
+     * include.
      * </p>
      * <p>
-     * If the <I> relativeUrlPath </I> begins with a "/" then the URL specified
-     * is calculated relative to the DOCROOT of the <code>ServletContext</code>
-     * for this JSP. If the path does not begin with a "/" then the URL
-     * specified is calculated relative to the URL of the request that was
-     * mapped to the calling JSP.
+     * If the <I> relativeUrlPath </I> begins with a "/" then the URL specified is calculated relative to the DOCROOT of
+     * the <code>ServletContext</code> for this JSP. If the path does not begin with a "/" then the URL specified is
+     * calculated relative to the URL of the request that was mapped to the calling JSP.
      * </p>
      * <p>
-     * It is only valid to call this method from a <code> Thread </code>
-     * executing within a <code> _jspService(...) </code> method of a JSP.
+     * It is only valid to call this method from a <code> Thread </code> executing within a
+     * <code> _jspService(...) </code> method of a JSP.
      * </p>
      *
-     * @param relativeUrlPath specifies the relative URL path to the target
-     *     resource to be included
+     * @param relativeUrlPath specifies the relative URL path to the target resource to be included
      *
-     * @throws ServletException if the page that was forwarded to throws
-     *     a ServletException
-     * @throws IOException if an I/O error occurred while forwarding
+     * @throws ServletException if the page that was forwarded to throws a ServletException
+     * @throws IOException      if an I/O error occurred while forwarding
      */
-    public abstract void include(String relativeUrlPath)
-        throws ServletException, IOException;
+    public abstract void include(String relativeUrlPath) throws ServletException, IOException;
 
     /**
      * <p>
-     * Causes the resource specified to be processed as part of the current
-     * ServletRequest and ServletResponse being processed by the calling Thread.
-     * The output of the target resources processing of the request is written
-     * directly to the current JspWriter returned by a call to getOut().
+     * Causes the resource specified to be processed as part of the current ServletRequest and ServletResponse being
+     * processed by the calling Thread. The output of the target resources processing of the request is written directly
+     * to the current JspWriter returned by a call to getOut().
      * </p>
      * <p>
-     * If flush is true, The current JspWriter "out" for this JSP
-     * is flushed as a side-effect of this call, prior to processing
-     * the include.  Otherwise, the JspWriter "out" is not flushed.
+     * If flush is true, The current JspWriter "out" for this JSP is flushed as a side-effect of this call, prior to
+     * processing the include. Otherwise, the JspWriter "out" is not flushed.
      * </p>
      * <p>
-     * If the <i>relativeUrlPath</i> begins with a "/" then the URL specified
-     * is calculated relative to the DOCROOT of the <code>ServletContext</code>
-     * for this JSP. If the path does not begin with a "/" then the URL
-     * specified is calculated relative to the URL of the request that was
-     * mapped to the calling JSP.
+     * If the <i>relativeUrlPath</i> begins with a "/" then the URL specified is calculated relative to the DOCROOT of
+     * the <code>ServletContext</code> for this JSP. If the path does not begin with a "/" then the URL specified is
+     * calculated relative to the URL of the request that was mapped to the calling JSP.
      * </p>
      * <p>
-     * It is only valid to call this method from a <code> Thread </code>
-     * executing within a <code> _jspService(...) </code> method of a JSP.
+     * It is only valid to call this method from a <code> Thread </code> executing within a
+     * <code> _jspService(...) </code> method of a JSP.
      * </p>
      *
-     * @param relativeUrlPath specifies the relative URL path to the
-     *     target resource to be included
-     * @param flush True if the JspWriter is to be flushed before the include,
-     *     or false if not.
+     * @param relativeUrlPath specifies the relative URL path to the target resource to be included
+     * @param flush           True if the JspWriter is to be flushed before the include, or false if not.
+     *
+     * @throws ServletException if the page that was forwarded to throws a ServletException
+     * @throws IOException      if an I/O error occurred while forwarding
      *
-     * @throws ServletException if the page that was forwarded to throws
-     *     a ServletException
-     * @throws IOException if an I/O error occurred while forwarding
      * @since JSP 2.0
      */
-    public abstract void include(String relativeUrlPath, boolean flush)
-        throws ServletException, IOException;
+    public abstract void include(String relativeUrlPath, boolean flush) throws ServletException, IOException;
 
     /**
      * <p>
-     * This method is intended to process an unhandled 'page' level
-     * exception by forwarding the exception to the specified
-     * error page for this JSP.  If forwarding is not possible (for
-     * example because the response has already been committed), an
-     * implementation dependent mechanism should be used to invoke
-     * the error page (e.g. "including" the error page instead).
-     *
+     * This method is intended to process an unhandled 'page' level exception by forwarding the exception to the
+     * specified error page for this JSP. If forwarding is not possible (for example because the response has already
+     * been committed), an implementation dependent mechanism should be used to invoke the error page (e.g. "including"
+     * the error page instead).
      * <p>
-     * If no error page is defined in the page, the exception should
-     * be rethrown so that the standard servlet error handling
-     * takes over.
-     *
+     * If no error page is defined in the page, the exception should be rethrown so that the standard servlet error
+     * handling takes over.
      * <p>
-     * A JSP implementation class shall typically clean up any local state
-     * prior to invoking this and will return immediately thereafter. It is
-     * illegal to generate any output to the client, or to modify any
-     * ServletResponse state after invoking this call.
-     *
+     * A JSP implementation class shall typically clean up any local state prior to invoking this and will return
+     * immediately thereafter. It is illegal to generate any output to the client, or to modify any ServletResponse
+     * state after invoking this call.
      * <p>
-     * This method is kept for backwards compatibility reasons.  Newly
-     * generated code should use PageContext.handlePageException(Throwable).
+     * This method is kept for backwards compatibility reasons. Newly generated code should use
+     * PageContext.handlePageException(Throwable).
      *
      * @param e the exception to be handled
      *
-     * @throws ServletException if an error occurs while invoking the error page
-     * @throws IOException if an I/O error occurred while invoking the error
-     *     page
+     * @throws ServletException     if an error occurs while invoking the error page
+     * @throws IOException          if an I/O error occurred while invoking the error page
      * @throws NullPointerException if the exception is null
      *
      * @see #handlePageException(Throwable)
      */
 
-    public abstract void handlePageException(Exception e)
-        throws ServletException, IOException;
+    public abstract void handlePageException(Exception e) throws ServletException, IOException;
 
     /**
      * <p>
-     * This method is intended to process an unhandled 'page' level
-     * exception by forwarding the exception to the specified
-     * error page for this JSP.  If forwarding is not possible (for
-     * example because the response has already been committed), an
-     * implementation dependent mechanism should be used to invoke
-     * the error page (e.g. "including" the error page instead).
-     *
+     * This method is intended to process an unhandled 'page' level exception by forwarding the exception to the
+     * specified error page for this JSP. If forwarding is not possible (for example because the response has already
+     * been committed), an implementation dependent mechanism should be used to invoke the error page (e.g. "including"
+     * the error page instead).
      * <p>
-     * If no error page is defined in the page, the exception should
-     * be rethrown so that the standard servlet error handling
-     * takes over.
-     *
+     * If no error page is defined in the page, the exception should be rethrown so that the standard servlet error
+     * handling takes over.
      * <p>
-     * This method is intended to process an unhandled "page" level exception
-     * by redirecting the exception to either the specified error page for this
-     * JSP, or if none was specified, to perform some implementation dependent
-     * action.
-     *
+     * This method is intended to process an unhandled "page" level exception by redirecting the exception to either the
+     * specified error page for this JSP, or if none was specified, to perform some implementation dependent action.
      * <p>
-     * A JSP implementation class shall typically clean up any local state
-     * prior to invoking this and will return immediately thereafter. It is
-     * illegal to generate any output to the client, or to modify any
-     * ServletResponse state after invoking this call.
+     * A JSP implementation class shall typically clean up any local state prior to invoking this and will return
+     * immediately thereafter. It is illegal to generate any output to the client, or to modify any ServletResponse
+     * state after invoking this call.
      *
      * @param t the throwable to be handled
      *
-     * @throws ServletException if an error occurs while invoking the error page
-     * @throws IOException if an I/O error occurred while invoking the error
-     *     page
+     * @throws ServletException     if an error occurs while invoking the error page
+     * @throws IOException          if an I/O error occurred while invoking the error page
      * @throws NullPointerException if the exception is null
      *
      * @see #handlePageException(Exception)
      */
 
-    public abstract void handlePageException(Throwable t)
-        throws ServletException, IOException;
+    public abstract void handlePageException(Throwable t) throws ServletException, IOException;
 
     /**
-     * Return a new BodyContent object, save the current "out" JspWriter,
-     * and update the value of the "out" attribute in the page scope
-     * attribute namespace of the PageContext.
+     * Return a new BodyContent object, save the current "out" JspWriter, and update the value of the "out" attribute in
+     * the page scope attribute namespace of the PageContext.
      *
      * @return the new BodyContent
      */
@@ -498,33 +422,24 @@ public abstract class PageContext extends JspContext {
     /**
      * Provides convenient access to error information.
      *
-     * @return an ErrorData instance containing information about the
-     * error, as obtained from the request attributes, as per the
-     * Servlet specification.  If this is not an error page (that is,
-     * if the isErrorPage attribute of the page directive is not set
-     * to "true"), the information is meaningless.
+     * @return an ErrorData instance containing information about the error, as obtained from the request attributes, as
+     *             per the Servlet specification. If this is not an error page (that is, if the isErrorPage attribute of
+     *             the page directive is not set to "true"), the information is meaningless.
      *
      * @since JSP 2.0
      */
     public ErrorData getErrorData() {
         int status = 0;
 
-        Integer status_code = (Integer)getRequest().getAttribute(
-                RequestDispatcher.ERROR_STATUS_CODE);
+        Integer status_code = (Integer) getRequest().getAttribute(RequestDispatcher.ERROR_STATUS_CODE);
         // Avoid NPE if attribute is not set
         if (status_code != null) {
             status = status_code.intValue();
         }
 
-        return new ErrorData(
-            (Throwable)getRequest().getAttribute(
-                    RequestDispatcher.ERROR_EXCEPTION),
-            status,
-            (String)getRequest().getAttribute(
-                    RequestDispatcher.ERROR_REQUEST_URI),
-            (String)getRequest().getAttribute(
-                    RequestDispatcher.ERROR_SERVLET_NAME)
-            );
+        return new ErrorData((Throwable) getRequest().getAttribute(RequestDispatcher.ERROR_EXCEPTION), status,
+                (String) getRequest().getAttribute(RequestDispatcher.ERROR_REQUEST_URI),
+                (String) getRequest().getAttribute(RequestDispatcher.ERROR_SERVLET_NAME));
     }
 
 }
diff --git a/java/jakarta/servlet/jsp/SkipPageException.java b/java/jakarta/servlet/jsp/SkipPageException.java
index 971bad91c6..f9926c3fea 100644
--- a/java/jakarta/servlet/jsp/SkipPageException.java
+++ b/java/jakarta/servlet/jsp/SkipPageException.java
@@ -17,19 +17,17 @@
 package jakarta.servlet.jsp;
 
 /**
- * Exception to indicate the calling page must cease evaluation. Thrown by a
- * simple tag handler to indicate that the remainder of the page must not be
- * evaluated. The result is propagated back to the page in the case where one
- * tag invokes another (as can be the case with tag files). The effect is
- * similar to that of a Classic Tag Handler returning Tag.SKIP_PAGE from
- * doEndTag(). Jsp Fragments may also throw this exception. This exception
- * should not be thrown manually in a JSP page or tag file - the behavior is
- * undefined. The exception is intended to be thrown inside SimpleTag handlers
- * and in JSP fragments.
+ * Exception to indicate the calling page must cease evaluation. Thrown by a simple tag handler to indicate that the
+ * remainder of the page must not be evaluated. The result is propagated back to the page in the case where one tag
+ * invokes another (as can be the case with tag files). The effect is similar to that of a Classic Tag Handler returning
+ * Tag.SKIP_PAGE from doEndTag(). Jsp Fragments may also throw this exception. This exception should not be thrown
+ * manually in a JSP page or tag file - the behavior is undefined. The exception is intended to be thrown inside
+ * SimpleTag handlers and in JSP fragments.
  *
  * @see jakarta.servlet.jsp.tagext.SimpleTag#doTag
  * @see jakarta.servlet.jsp.tagext.JspFragment#invoke
  * @see jakarta.servlet.jsp.tagext.Tag#doEndTag
+ *
  * @since JSP 2.0
  */
 public class SkipPageException extends JspException {
@@ -46,8 +44,7 @@ public class SkipPageException extends JspException {
     /**
      * Creates a SkipPageException with the provided message.
      *
-     * @param message
-     *            the detail message
+     * @param message the detail message
      */
     public SkipPageException(String message) {
         super(message);
@@ -56,10 +53,8 @@ public class SkipPageException extends JspException {
     /**
      * Creates a SkipPageException with the provided message and root cause.
      *
-     * @param message
-     *            the detail message
-     * @param rootCause
-     *            the originating cause of this exception
+     * @param message   the detail message
+     * @param rootCause the originating cause of this exception
      */
     public SkipPageException(String message, Throwable rootCause) {
         super(message, rootCause);
@@ -68,8 +63,7 @@ public class SkipPageException extends JspException {
     /**
      * Creates a SkipPageException with the provided root cause.
      *
-     * @param rootCause
-     *            the originating cause of this exception
+     * @param rootCause the originating cause of this exception
      */
     public SkipPageException(Throwable rootCause) {
         super(rootCause);
diff --git a/java/jakarta/servlet/jsp/el/ELException.java b/java/jakarta/servlet/jsp/el/ELException.java
index 455f9ba9e1..acff138c4c 100644
--- a/java/jakarta/servlet/jsp/el/ELException.java
+++ b/java/jakarta/servlet/jsp/el/ELException.java
@@ -17,10 +17,10 @@
 package jakarta.servlet.jsp.el;
 
 /**
- * Represents any of the exception conditions that arise during the operation
- * evaluation of the evaluator.
+ * Represents any of the exception conditions that arise during the operation evaluation of the evaluator.
  *
  * @since JSP 2.0
+ *
  * @deprecated As of JSP 2.1, replaced by jakarta.el.ELException
  */
 @Deprecated
@@ -38,8 +38,7 @@ public class ELException extends Exception {
     /**
      * Creates an ELException with the provided detail message.
      *
-     * @param pMessage
-     *            the detail message
+     * @param pMessage the detail message
      **/
     public ELException(String pMessage) {
         super(pMessage);
@@ -48,8 +47,7 @@ public class ELException extends Exception {
     /**
      * Creates an ELException with the given root cause.
      *
-     * @param pRootCause
-     *            the originating cause of this exception
+     * @param pRootCause the originating cause of this exception
      **/
     public ELException(Throwable pRootCause) {
         super(pRootCause);
@@ -59,10 +57,8 @@ public class ELException extends Exception {
     /**
      * Creates an ELException with the given detail message and root cause.
      *
-     * @param pMessage
-     *            the detail message
-     * @param pRootCause
-     *            the originating cause of this exception
+     * @param pMessage   the detail message
+     * @param pRootCause the originating cause of this exception
      **/
     public ELException(String pMessage, Throwable pRootCause) {
         super(pMessage, pRootCause);
diff --git a/java/jakarta/servlet/jsp/el/ELParseException.java b/java/jakarta/servlet/jsp/el/ELParseException.java
index 714d4b1997..ff75753ab9 100644
--- a/java/jakarta/servlet/jsp/el/ELParseException.java
+++ b/java/jakarta/servlet/jsp/el/ELParseException.java
@@ -21,6 +21,7 @@ package jakarta.servlet.jsp.el;
  * Represents a parsing error encountered while parsing an EL expression.
  *
  * @since JSP 2.0
+ *
  * @deprecated As of JSP 2.1, replaced by jakarta.el.ELException
  */
 @Deprecated
@@ -32,8 +33,8 @@ public class ELParseException extends ELException {
     /**
      * Creates an ELParseException with no detail message.
      */
-    public ELParseException () {
-        super ();
+    public ELParseException() {
+        super();
     }
 
 
@@ -42,7 +43,7 @@ public class ELParseException extends ELException {
      *
      * @param pMessage the detail message
      */
-    public ELParseException (String pMessage) {
-        super (pMessage);
+    public ELParseException(String pMessage) {
+        super(pMessage);
     }
 }
diff --git a/java/jakarta/servlet/jsp/el/Expression.java b/java/jakarta/servlet/jsp/el/Expression.java
index c0c3793887..7ecee68c70 100644
--- a/java/jakarta/servlet/jsp/el/Expression.java
+++ b/java/jakarta/servlet/jsp/el/Expression.java
@@ -18,35 +18,36 @@ package jakarta.servlet.jsp.el;
 
 
 /**
- * <p>The abstract class for a prepared expression.</p>
- *
- * <p>An instance of an Expression can be obtained via from an
- * ExpressionEvaluator instance.</p>
- *
- * <p>An Expression may or not have done a syntactic parse of the expression.
- * A client invoking the evaluate() method should be ready for the case
- * where ELParseException exceptions are raised. </p>
+ * <p>
+ * The abstract class for a prepared expression.
+ * </p>
+ * <p>
+ * An instance of an Expression can be obtained via from an ExpressionEvaluator instance.
+ * </p>
+ * <p>
+ * An Expression may or not have done a syntactic parse of the expression. A client invoking the evaluate() method
+ * should be ready for the case where ELParseException exceptions are raised.
+ * </p>
  *
  * @since JSP 2.0
+ *
  * @deprecated As of JSP 2.1, replaced by jakarta.el.ValueExpression
  */
 @Deprecated
 public abstract class Expression {
 
     /**
-     * Evaluates an expression that was previously prepared.  In some
-     * implementations preparing an expression involves full syntactic
-     * validation, but others may not do so.  Evaluating the expression may
-     * raise an ELParseException as well as other ELExceptions due to
-     * run-time evaluation.
+     * Evaluates an expression that was previously prepared. In some implementations preparing an expression involves
+     * full syntactic validation, but others may not do so. Evaluating the expression may raise an ELParseException as
+     * well as other ELExceptions due to run-time evaluation.
+     *
+     * @param vResolver A VariableResolver instance that can be used at runtime to resolve the name of implicit objects
+     *                      into Objects.
      *
-     * @param vResolver A VariableResolver instance that can be used at
-     *   runtime to resolve the name of implicit objects into Objects.
      * @return The result of the expression evaluation.
      *
      * @exception ELException Thrown if the expression evaluation failed.
      */
-    public abstract Object evaluate( VariableResolver vResolver )
-        throws ELException;
+    public abstract Object evaluate(VariableResolver vResolver) throws ELException;
 }
 
diff --git a/java/jakarta/servlet/jsp/el/ExpressionEvaluator.java b/java/jakarta/servlet/jsp/el/ExpressionEvaluator.java
index db59b26bb6..7f0ec632ef 100644
--- a/java/jakarta/servlet/jsp/el/ExpressionEvaluator.java
+++ b/java/jakarta/servlet/jsp/el/ExpressionEvaluator.java
@@ -18,28 +18,23 @@ package jakarta.servlet.jsp.el;
 
 /**
  * <p>
- * The abstract base class for an expression-language evaluator. Classes that
- * implement an expression language expose their functionality via this abstract
- * class.
+ * The abstract base class for an expression-language evaluator. Classes that implement an expression language expose
+ * their functionality via this abstract class.
  * </p>
  * <p>
- * An instance of the ExpressionEvaluator can be obtained via the JspContext /
- * PageContext
+ * An instance of the ExpressionEvaluator can be obtained via the JspContext / PageContext
  * </p>
  * <p>
- * The parseExpression() and evaluate() methods must be thread-safe. That is,
- * multiple threads may call these methods on the same ExpressionEvaluator
- * object simultaneously. Implementations should synchronize access if they
- * depend on transient state. Implementations should not, however, assume that
- * only one object of each ExpressionEvaluator type will be instantiated; global
- * caching should therefore be static.
+ * The parseExpression() and evaluate() methods must be thread-safe. That is, multiple threads may call these methods on
+ * the same ExpressionEvaluator object simultaneously. Implementations should synchronize access if they depend on
+ * transient state. Implementations should not, however, assume that only one object of each ExpressionEvaluator type
+ * will be instantiated; global caching should therefore be static.
  * </p>
  * <p>
- * Only a single EL expression, starting with '${' and ending with '}', can be
- * parsed or evaluated at a time. EL expressions cannot be mixed with static
- * text. For example, attempting to parse or evaluate "
- * <code>abc${1+1}def${1+1}ghi</code>" or even "<code>${1+1}${1+1}</code>" will
- * cause an <code>ELException</code> to be thrown.
+ * Only a single EL expression, starting with '${' and ending with '}', can be parsed or evaluated at a time. EL
+ * expressions cannot be mixed with static text. For example, attempting to parse or evaluate "
+ * <code>abc${1+1}def${1+1}ghi</code>" or even "<code>${1+1}${1+1}</code>" will cause an <code>ELException</code> to be
+ * thrown.
  * </p>
  * <p>
  * The following are examples of syntactically legal EL expressions:
@@ -51,58 +46,48 @@ package jakarta.servlet.jsp.el;
  * </ul>
  *
  * @since JSP 2.0
+ *
  * @deprecated As of JSP 2.1, replaced by jakarta.el.ExpressionFactory
  */
 @Deprecated
 public abstract class ExpressionEvaluator {
 
     /**
-     * Prepare an expression for later evaluation. This method should perform
-     * syntactic validation of the expression; if in doing so it detects errors,
-     * it should raise an ELParseException.
+     * Prepare an expression for later evaluation. This method should perform syntactic validation of the expression; if
+     * in doing so it detects errors, it should raise an ELParseException.
+     *
+     * @param expression   The expression to be evaluated.
+     * @param expectedType The expected type of the result of the evaluation
+     * @param fMapper      A FunctionMapper to resolve functions found in the expression. It can be null, in which case
+     *                         no functions are supported for this invocation. The ExpressionEvaluator must not hold on
+     *                         to the FunctionMapper reference after returning from <code>parseExpression()</code>. The
+     *                         <code>Expression</code> object returned must invoke the same functions regardless of
+     *                         whether the mappings in the provided <code>FunctionMapper</code> instance change between
+     *                         calling <code>ExpressionEvaluator.parseExpression()</code> and
+     *                         <code>Expression.evaluate()</code>.
      *
-     * @param expression
-     *            The expression to be evaluated.
-     * @param expectedType
-     *            The expected type of the result of the evaluation
-     * @param fMapper
-     *            A FunctionMapper to resolve functions found in the expression.
-     *            It can be null, in which case no functions are supported for
-     *            this invocation. The ExpressionEvaluator must not hold on to
-     *            the FunctionMapper reference after returning from
-     *            <code>parseExpression()</code>. The <code>Expression</code>
-     *            object returned must invoke the same functions regardless of
-     *            whether the mappings in the provided
-     *            <code>FunctionMapper</code> instance change between calling
-     *            <code>ExpressionEvaluator.parseExpression()</code> and
-     *            <code>Expression.evaluate()</code>.
      * @return The Expression object encapsulating the arguments.
-     * @exception ELException
-     *                Thrown if parsing errors were found.
+     *
+     * @exception ELException Thrown if parsing errors were found.
      */
-    public abstract Expression parseExpression(String expression, Class<?> expectedType,
-            FunctionMapper fMapper) throws ELException;
+    public abstract Expression parseExpression(String expression, Class<?> expectedType, FunctionMapper fMapper)
+            throws ELException;
 
     /**
-     * Evaluates an expression. This method may perform some syntactic
-     * validation and, if so, it should raise an ELParseException error if it
-     * encounters syntactic errors. EL evaluation errors should cause an
-     * ELException to be raised.
+     * Evaluates an expression. This method may perform some syntactic validation and, if so, it should raise an
+     * ELParseException error if it encounters syntactic errors. EL evaluation errors should cause an ELException to be
+     * raised.
+     *
+     * @param expression   The expression to be evaluated.
+     * @param expectedType The expected type of the result of the evaluation
+     * @param vResolver    A VariableResolver instance that can be used at runtime to resolve the name of implicit
+     *                         objects into Objects.
+     * @param fMapper      A FunctionMapper to resolve functions found in the expression. It can be null, in which case
+     *                         no functions are supported for this invocation.
      *
-     * @param expression
-     *            The expression to be evaluated.
-     * @param expectedType
-     *            The expected type of the result of the evaluation
-     * @param vResolver
-     *            A VariableResolver instance that can be used at runtime to
-     *            resolve the name of implicit objects into Objects.
-     * @param fMapper
-     *            A FunctionMapper to resolve functions found in the expression.
-     *            It can be null, in which case no functions are supported for
-     *            this invocation.
      * @return The result of the expression evaluation.
-     * @exception ELException
-     *                Thrown if the expression evaluation failed.
+     *
+     * @exception ELException Thrown if the expression evaluation failed.
      */
     public abstract Object evaluate(String expression, Class<?> expectedType, VariableResolver vResolver,
             FunctionMapper fMapper) throws ELException;
diff --git a/java/jakarta/servlet/jsp/el/FunctionMapper.java b/java/jakarta/servlet/jsp/el/FunctionMapper.java
index 6026109fc5..2cc66cb730 100644
--- a/java/jakarta/servlet/jsp/el/FunctionMapper.java
+++ b/java/jakarta/servlet/jsp/el/FunctionMapper.java
@@ -17,23 +17,27 @@
 package jakarta.servlet.jsp.el;
 
 /**
- * <p>The interface to a map between EL function names and methods.</p>
- *
- * <p>Classes implementing this interface may, for instance, consult tag library
- * information to resolve the map. </p>
+ * <p>
+ * The interface to a map between EL function names and methods.
+ * </p>
+ * <p>
+ * Classes implementing this interface may, for instance, consult tag library information to resolve the map.
+ * </p>
  *
  * @since JSP 2.0
+ *
  * @deprecated As of JSP 2.1, replaced by jakarta.el.FunctionMapper
  */
 @Deprecated
 public interface FunctionMapper {
     /**
-     * Resolves the specified local name and prefix into a Java.lang.Method.
-     * Returns null if the prefix and local name are not found.
+     * Resolves the specified local name and prefix into a Java.lang.Method. Returns null if the prefix and local name
+     * are not found.
      *
-     * @param prefix the prefix of the function, or "" if no prefix.
+     * @param prefix    the prefix of the function, or "" if no prefix.
      * @param localName the short name of the function
-     * @return the result of the method mapping.  Null means no entry found.
+     *
+     * @return the result of the method mapping. Null means no entry found.
      */
     java.lang.reflect.Method resolveFunction(String prefix, String localName);
 }
diff --git a/java/jakarta/servlet/jsp/el/ImplicitObjectELResolver.java b/java/jakarta/servlet/jsp/el/ImplicitObjectELResolver.java
index 0d1ce61f5b..2d6a632492 100644
--- a/java/jakarta/servlet/jsp/el/ImplicitObjectELResolver.java
+++ b/java/jakarta/servlet/jsp/el/ImplicitObjectELResolver.java
@@ -45,10 +45,8 @@ import jakarta.servlet.jsp.PageContext;
  */
 public class ImplicitObjectELResolver extends ELResolver {
 
-    private static final String[] SCOPE_NAMES = new String[] {
-            "applicationScope", "cookie", "header", "headerValues",
-            "initParam", "pageContext", "pageScope", "param", "paramValues",
-            "requestScope", "sessionScope" };
+    private static final String[] SCOPE_NAMES = new String[] { "applicationScope", "cookie", "header", "headerValues",
+            "initParam", "pageContext", "pageScope", "param", "paramValues", "requestScope", "sessionScope" };
 
     private static final int APPLICATIONSCOPE = 0;
 
@@ -87,8 +85,7 @@ public class ImplicitObjectELResolver extends ELResolver {
             int idx = Arrays.binarySearch(SCOPE_NAMES, property.toString());
 
             if (idx >= 0) {
-                PageContext page = (PageContext) context
-                        .getContext(JspContext.class);
+                PageContext page = (PageContext) context.getContext(JspContext.class);
                 context.setPropertyResolved(base, property);
                 switch (idx) {
                     case APPLICATIONSCOPE:
@@ -133,8 +130,7 @@ public class ImplicitObjectELResolver extends ELResolver {
     }
 
     @Override
-    public void setValue(ELContext context, Object base, Object property,
-            Object value) {
+    public void setValue(ELContext context, Object base, Object property, Object value) {
         Objects.requireNonNull(context);
 
         if (base == null && property != null) {
@@ -291,14 +287,12 @@ public class ImplicitObjectELResolver extends ELResolver {
                 this.header = new ScopeMap<>() {
                     @Override
                     protected Enumeration<String> getAttributeNames() {
-                        return ((HttpServletRequest) page.getRequest())
-                                .getHeaderNames();
+                        return ((HttpServletRequest) page.getRequest()).getHeaderNames();
                     }
 
                     @Override
                     protected String getAttribute(String name) {
-                        return ((HttpServletRequest) page.getRequest())
-                                .getHeader(name);
+                        return ((HttpServletRequest) page.getRequest()).getHeader(name);
                     }
                 };
             }
@@ -310,8 +304,7 @@ public class ImplicitObjectELResolver extends ELResolver {
                 this.headerValues = new ScopeMap<>() {
                     @Override
                     protected Enumeration<String> getAttributeNames() {
-                        return ((HttpServletRequest) page.getRequest())
-                                .getHeaderNames();
+                        return ((HttpServletRequest) page.getRequest()).getHeaderNames();
                     }
 
                     @Override
@@ -368,8 +361,7 @@ public class ImplicitObjectELResolver extends ELResolver {
 
                     @Override
                     protected Enumeration<String> getAttributeNames() {
-                        return page.getAttributeNamesInScope(
-                                PageContext.PAGE_SCOPE);
+                        return page.getAttributeNamesInScope(PageContext.PAGE_SCOPE);
                     }
 
                     @Override
@@ -447,8 +439,7 @@ public class ImplicitObjectELResolver extends ELResolver {
                 this.sessionScope = new ScopeMap<>() {
                     @Override
                     protected void setAttribute(String name, Object value) {
-                        ((HttpServletRequest) page.getRequest()).getSession()
-                                .setAttribute(name, value);
+                        ((HttpServletRequest) page.getRequest()).getSession().setAttribute(name, value);
                     }
 
                     @Override
@@ -501,7 +492,7 @@ public class ImplicitObjectELResolver extends ELResolver {
         @Override
         public final Set<Map.Entry<String,V>> entrySet() {
             Enumeration<String> e = getAttributeNames();
-            Set<Map.Entry<String, V>> set = new HashSet<>();
+            Set<Map.Entry<String,V>> set = new HashSet<>();
             if (e != null) {
                 while (e.hasMoreElements()) {
                     set.add(new ScopeEntry(e.nextElement()));
diff --git a/java/jakarta/servlet/jsp/el/ImportELResolver.java b/java/jakarta/servlet/jsp/el/ImportELResolver.java
index a3db558421..4e58509dba 100644
--- a/java/jakarta/servlet/jsp/el/ImportELResolver.java
+++ b/java/jakarta/servlet/jsp/el/ImportELResolver.java
@@ -27,8 +27,7 @@ import jakarta.el.ELResolver;
 import jakarta.el.ImportHandler;
 
 /**
- * Providers resolution of imports and static imports in the Jakarta Server
- * Pages ELResolver chain.
+ * Providers resolution of imports and static imports in the Jakarta Server Pages ELResolver chain.
  *
  * @since JSP 3.1
  */
@@ -43,7 +42,7 @@ public class ImportELResolver extends ELResolver {
             key = Class.forName("org.apache.el.parser.AstIdentifier");
         } catch (Exception e) {
             // Ignore: Expected if not running on Tomcat. Not a problem since
-            //         this just allows a short-cut.
+            // this just allows a short-cut.
         }
         AST_IDENTIFIER_KEY = key;
     }
@@ -93,8 +92,8 @@ public class ImportELResolver extends ELResolver {
                         if (clazz != null) {
                             try {
                                 result = clazz.getField(key).get(null);
-                            } catch (IllegalArgumentException | IllegalAccessException |
-                                    NoSuchFieldException | SecurityException e) {
+                            } catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException |
+                                    SecurityException e) {
                                 // Most (all?) of these should have been
                                 // prevented by the checks when the import
                                 // was defined.
diff --git a/java/jakarta/servlet/jsp/el/NotFoundELResolver.java b/java/jakarta/servlet/jsp/el/NotFoundELResolver.java
index 35ad99de54..cc865e90dd 100644
--- a/java/jakarta/servlet/jsp/el/NotFoundELResolver.java
+++ b/java/jakarta/servlet/jsp/el/NotFoundELResolver.java
@@ -27,8 +27,8 @@ import jakarta.el.ELResolver;
 import jakarta.el.PropertyNotFoundException;
 
 /**
- * The final resolver of the Jakarta Server Pages ELResolver chain. It always
- * resolves the requested value, returning {@code null} when it does so.
+ * The final resolver of the Jakarta Server Pages ELResolver chain. It always resolves the requested value, returning
+ * {@code null} when it does so.
  *
  * @since JSP 3.1
  */
@@ -47,19 +47,16 @@ public class NotFoundELResolver extends ELResolver {
     /**
      * {@inheritDoc}
      * <p>
-     * Resolves the property and always returns {@code null} unless the provided
-     * context contains a Boolean object with value {@code Boolean.TRUE} as the
-     * value associated with the key
-     * {@code jakarta.servlet.jsp.el.NotFoundELResolver.class} in which case an
-     * exception is thrown. This is to support implementation of the
-     * {@code errorOnELNotFound} page/tag directive.
+     * Resolves the property and always returns {@code null} unless the provided context contains a Boolean object with
+     * value {@code Boolean.TRUE} as the value associated with the key
+     * {@code jakarta.servlet.jsp.el.NotFoundELResolver.class} in which case an exception is thrown. This is to support
+     * implementation of the {@code errorOnELNotFound} page/tag directive.
      *
      * @return Always {@code null}
      *
-     * @throws PropertyNotFoundException if the provided context contains a
-     *         Boolean object with value {@code Boolean.TRUE} as the value
-     *         associated with the key
-     *         {@code jakarta.servlet.jsp.el.NotFoundELResolver.class}
+     * @throws PropertyNotFoundException if the provided context contains a Boolean object with value
+     *                                       {@code Boolean.TRUE} as the value associated with the key
+     *                                       {@code jakarta.servlet.jsp.el.NotFoundELResolver.class}
      */
     @Override
     public Object getValue(ELContext context, Object base, Object property) {
@@ -91,8 +88,7 @@ public class NotFoundELResolver extends ELResolver {
     /**
      * {@inheritDoc}
      * <p>
-     * No-op. In normal usage, {@link ScopedAttributeELResolver} will have
-     * responded.
+     * No-op. In normal usage, {@link ScopedAttributeELResolver} will have responded.
      */
     @Override
     public void setValue(ELContext context, Object base, Object property, Object value) {
diff --git a/java/jakarta/servlet/jsp/el/ScopedAttributeELResolver.java b/java/jakarta/servlet/jsp/el/ScopedAttributeELResolver.java
index 4da4cc2b6e..5044c0478d 100644
--- a/java/jakarta/servlet/jsp/el/ScopedAttributeELResolver.java
+++ b/java/jakarta/servlet/jsp/el/ScopedAttributeELResolver.java
@@ -29,8 +29,7 @@ import jakarta.servlet.jsp.JspContext;
 import jakarta.servlet.jsp.PageContext;
 
 /**
- * An ELResolver for working with JSP scoped attributes which may have page,
- * request, session or application scope.
+ * An ELResolver for working with JSP scoped attributes which may have page, request, session or application scope.
  *
  * @since JSP 2.1
  */
diff --git a/java/jakarta/servlet/jsp/el/VariableResolver.java b/java/jakarta/servlet/jsp/el/VariableResolver.java
index 48e587d4f0..1c5fef3ad0 100644
--- a/java/jakarta/servlet/jsp/el/VariableResolver.java
+++ b/java/jakarta/servlet/jsp/el/VariableResolver.java
@@ -18,33 +18,30 @@ package jakarta.servlet.jsp.el;
 
 /**
  * <p>
- * This class is used to customize the way an ExpressionEvaluator resolves
- * variable references at evaluation time. For example, instances of this class
- * can implement their own variable lookup mechanisms, or introduce the notion
- * of "implicit variables" which override any other variables. An instance of
- * this class should be passed when evaluating an expression.
+ * This class is used to customize the way an ExpressionEvaluator resolves variable references at evaluation time. For
+ * example, instances of this class can implement their own variable lookup mechanisms, or introduce the notion of
+ * "implicit variables" which override any other variables. An instance of this class should be passed when evaluating
+ * an expression.
  * </p>
  * <p>
- * An instance of this class includes the context against which resolution will
- * happen
+ * An instance of this class includes the context against which resolution will happen
  * </p>
  *
  * @since JSP 2.0
+ *
  * @deprecated As of JSP 2.1, replaced by jakarta.el.ELResolver
  */
 @Deprecated
 public interface VariableResolver {
 
     /**
-     * Resolves the specified variable. Returns null if the variable is not
-     * found.
+     * Resolves the specified variable. Returns null if the variable is not found.
+     *
+     * @param pName the name of the variable to resolve
      *
-     * @param pName
-     *            the name of the variable to resolve
      * @return the result of the variable resolution
-     * @throws ELException
-     *             if a failure occurred while trying to resolve the given
-     *             variable
+     *
+     * @throws ELException if a failure occurred while trying to resolve the given variable
      */
     Object resolveVariable(String pName) throws ELException;
 }
diff --git a/java/jakarta/servlet/jsp/tagext/BodyContent.java b/java/jakarta/servlet/jsp/tagext/BodyContent.java
index 08c4345c2a..6858ddd35c 100644
--- a/java/jakarta/servlet/jsp/tagext/BodyContent.java
+++ b/java/jakarta/servlet/jsp/tagext/BodyContent.java
@@ -23,34 +23,30 @@ import java.io.Writer;
 import jakarta.servlet.jsp.JspWriter;
 
 /**
- * An encapsulation of the evaluation of the body of an action so it is
- * available to a tag handler. BodyContent is a subclass of JspWriter.
+ * An encapsulation of the evaluation of the body of an action so it is available to a tag handler. BodyContent is a
+ * subclass of JspWriter.
  * <p>
- * Note that the content of BodyContent is the result of evaluation, so it will
- * not contain actions and the like, but the result of their invocation.
+ * Note that the content of BodyContent is the result of evaluation, so it will not contain actions and the like, but
+ * the result of their invocation.
  * <p>
- * BodyContent has methods to convert its contents into a String, to read its
- * contents, and to clear the contents.
+ * BodyContent has methods to convert its contents into a String, to read its contents, and to clear the contents.
  * <p>
- * The buffer size of a BodyContent object is unbounded. A BodyContent object
- * cannot be in autoFlush mode. It is not possible to invoke flush on a
- * BodyContent object, as there is no backing stream.
+ * The buffer size of a BodyContent object is unbounded. A BodyContent object cannot be in autoFlush mode. It is not
+ * possible to invoke flush on a BodyContent object, as there is no backing stream.
  * <p>
- * Instances of BodyContent are created by invoking the pushBody and popBody
- * methods of the PageContext class. A BodyContent is enclosed within another
- * JspWriter (maybe another BodyContent object) following the structure of their
+ * Instances of BodyContent are created by invoking the pushBody and popBody methods of the PageContext class. A
+ * BodyContent is enclosed within another JspWriter (maybe another BodyContent object) following the structure of their
  * associated actions.
  * <p>
- * A BodyContent is made available to a BodyTag through a setBodyContent() call.
- * The tag handler can use the object until after the call to doEndTag().
+ * A BodyContent is made available to a BodyTag through a setBodyContent() call. The tag handler can use the object
+ * until after the call to doEndTag().
  */
 public abstract class BodyContent extends JspWriter {
 
     /**
      * Protected constructor. Unbounded buffer, no autoflushing.
      *
-     * @param e
-     *            the enclosing JspWriter
+     * @param e the enclosing JspWriter
      */
     protected BodyContent(JspWriter e) {
         super(UNBOUNDED_BUFFER, false);
@@ -60,11 +56,9 @@ public abstract class BodyContent extends JspWriter {
     /**
      * Redefined flush() so it is not legal.
      * <p>
-     * It is not valid to flush a BodyContent because there is no backing stream
-     * behind it.
+     * It is not valid to flush a BodyContent because there is no backing stream behind it.
      *
-     * @throws IOException
-     *             always thrown
+     * @throws IOException always thrown
      */
     @Override
     public void flush() throws IOException {
@@ -98,15 +92,11 @@ public abstract class BodyContent extends JspWriter {
     public abstract String getString();
 
     /**
-     * Write the contents of this BodyContent into a Writer. Subclasses may
-     * optimize common invocation patterns.
+     * Write the contents of this BodyContent into a Writer. Subclasses may optimize common invocation patterns.
      *
-     * @param out
-     *            The writer into which to place the contents of this body
-     *            evaluation
-     * @throws IOException
-     *             if an I/O error occurred while writing the contents of this
-     *             BodyContent to the given Writer
+     * @param out The writer into which to place the contents of this body evaluation
+     *
+     * @throws IOException if an I/O error occurred while writing the contents of this BodyContent to the given Writer
      */
     public abstract void writeOut(Writer out) throws IOException;
 
diff --git a/java/jakarta/servlet/jsp/tagext/BodyTag.java b/java/jakarta/servlet/jsp/tagext/BodyTag.java
index 73df1c06b6..962cae1aa0 100644
--- a/java/jakarta/servlet/jsp/tagext/BodyTag.java
+++ b/java/jakarta/servlet/jsp/tagext/BodyTag.java
@@ -20,141 +20,114 @@ import jakarta.servlet.jsp.JspException;
 
 
 /**
- * The BodyTag interface extends IterationTag by defining additional methods
- * that let a tag handler manipulate the content of evaluating its body.
+ * The BodyTag interface extends IterationTag by defining additional methods that let a tag handler manipulate the
+ * content of evaluating its body.
  * <p>
- * It is the responsibility of the tag handler to manipulate the body content.
- * For example the tag handler may take the body content, convert it into a
- * String using the bodyContent.getString method and then use it. Or the tag
- * handler may take the body content and write it out into its enclosing
- * JspWriter using the bodyContent.writeOut method.
+ * It is the responsibility of the tag handler to manipulate the body content. For example the tag handler may take the
+ * body content, convert it into a String using the bodyContent.getString method and then use it. Or the tag handler may
+ * take the body content and write it out into its enclosing JspWriter using the bodyContent.writeOut method.
  * <p>
- * A tag handler that implements BodyTag is treated as one that implements
- * IterationTag, except that the doStartTag method can return SKIP_BODY,
- * EVAL_BODY_INCLUDE or EVAL_BODY_BUFFERED.
+ * A tag handler that implements BodyTag is treated as one that implements IterationTag, except that the doStartTag
+ * method can return SKIP_BODY, EVAL_BODY_INCLUDE or EVAL_BODY_BUFFERED.
  * <p>
  * If EVAL_BODY_INCLUDE is returned, then evaluation happens as in IterationTag.
  * <p>
- * If EVAL_BODY_BUFFERED is returned, then a BodyContent object will be created
- * (by code generated by the JSP compiler) to capture the body evaluation. The
- * code generated by the JSP compiler obtains the BodyContent object by calling
- * the pushBody method of the current pageContext, which additionally has the
- * effect of saving the previous out value. The page compiler returns this
- * object by calling the popBody method of the PageContext class; the call also
- * restores the value of out.
+ * If EVAL_BODY_BUFFERED is returned, then a BodyContent object will be created (by code generated by the JSP compiler)
+ * to capture the body evaluation. The code generated by the JSP compiler obtains the BodyContent object by calling the
+ * pushBody method of the current pageContext, which additionally has the effect of saving the previous out value. The
+ * page compiler returns this object by calling the popBody method of the PageContext class; the call also restores the
+ * value of out.
  * <p>
- * The interface provides one new property with a setter method and one new
- * action method.
+ * The interface provides one new property with a setter method and one new action method.
  * <p>
  * <B>Properties</B>
  * <p>
- * There is a new property: bodyContent, to contain the BodyContent object,
- * where the JSP Page implementation object will place the evaluation (and
- * reevaluation, if appropriate) of the body. The setter method (setBodyContent)
- * will only be invoked if doStartTag() returns EVAL_BODY_BUFFERED and the
- * corresponding action element does not have an empty body.
+ * There is a new property: bodyContent, to contain the BodyContent object, where the JSP Page implementation object
+ * will place the evaluation (and reevaluation, if appropriate) of the body. The setter method (setBodyContent) will
+ * only be invoked if doStartTag() returns EVAL_BODY_BUFFERED and the corresponding action element does not have an
+ * empty body.
  * <p>
  * <B>Methods</B>
  * <p>
- * In addition to the setter method for the bodyContent property, there is a new
- * action method: doInitBody(), which is invoked right after setBodyContent()
- * and before the body evaluation. This method is only invoked if doStartTag()
+ * In addition to the setter method for the bodyContent property, there is a new action method: doInitBody(), which is
+ * invoked right after setBodyContent() and before the body evaluation. This method is only invoked if doStartTag()
  * returns EVAL_BODY_BUFFERED.
  * <p>
  * <B>Lifecycle</B>
  * <p>
- * Lifecycle details are described by the transition diagram below. Exceptions
- * that are thrown during the computation of doStartTag(), setBodyContent(),
- * doInitBody(), BODY, doAfterBody() interrupt the execution sequence and are
- * propagated up the stack, unless the tag handler implements the
- * TryCatchFinally interface; see that interface for details.
+ * Lifecycle details are described by the transition diagram below. Exceptions that are thrown during the computation of
+ * doStartTag(), setBodyContent(), doInitBody(), BODY, doAfterBody() interrupt the execution sequence and are propagated
+ * up the stack, unless the tag handler implements the TryCatchFinally interface; see that interface for details.
  * <p>
- * <IMG src="doc-files/BodyTagProtocol.gif"
- * alt="Lifecycle Details Transition Diagram for BodyTag">
+ * <IMG src="doc-files/BodyTagProtocol.gif" alt="Lifecycle Details Transition Diagram for BodyTag">
  * <p>
  * <B>Empty and Non-Empty Action</B>
  * <p>
- * If the TagLibraryDescriptor file indicates that the action must always have
- * an empty element body, by an &lt;body-content&gt; entry of "empty", then the
- * doStartTag() method must return SKIP_BODY. Otherwise, the doStartTag() method
- * may return SKIP_BODY, EVAL_BODY_INCLUDE, or EVAL_BODY_BUFFERED.
+ * If the TagLibraryDescriptor file indicates that the action must always have an empty element body, by an
+ * &lt;body-content&gt; entry of "empty", then the doStartTag() method must return SKIP_BODY. Otherwise, the
+ * doStartTag() method may return SKIP_BODY, EVAL_BODY_INCLUDE, or EVAL_BODY_BUFFERED.
  * <p>
- * Note that which methods are invoked after the doStartTag() depends on both
- * the return value and on if the custom action element is empty or not in the
- * JSP page, not how it's declared in the TLD.
+ * Note that which methods are invoked after the doStartTag() depends on both the return value and on if the custom
+ * action element is empty or not in the JSP page, not how it's declared in the TLD.
  * <p>
- * If SKIP_BODY is returned the body is not evaluated, and doEndTag() is
- * invoked.
+ * If SKIP_BODY is returned the body is not evaluated, and doEndTag() is invoked.
  * <p>
- * If EVAL_BODY_INCLUDE is returned, and the custom action element is not empty,
- * setBodyContent() is not invoked, doInitBody() is not invoked, the body is
- * evaluated and "passed through" to the current out, doAfterBody() is invoked
- * and then, after zero or more iterations, doEndTag() is invoked. If the custom
- * action element is empty, only doStart() and doEndTag() are invoked.
- * <p>
- * If EVAL_BODY_BUFFERED is returned, and the custom action element is not
- * empty, setBodyContent() is invoked, doInitBody() is invoked, the body is
- * evaluated, doAfterBody() is invoked, and then, after zero or more iterations,
- * doEndTag() is invoked. If the custom action element is empty, only doStart()
+ * If EVAL_BODY_INCLUDE is returned, and the custom action element is not empty, setBodyContent() is not invoked,
+ * doInitBody() is not invoked, the body is evaluated and "passed through" to the current out, doAfterBody() is invoked
+ * and then, after zero or more iterations, doEndTag() is invoked. If the custom action element is empty, only doStart()
  * and doEndTag() are invoked.
+ * <p>
+ * If EVAL_BODY_BUFFERED is returned, and the custom action element is not empty, setBodyContent() is invoked,
+ * doInitBody() is invoked, the body is evaluated, doAfterBody() is invoked, and then, after zero or more iterations,
+ * doEndTag() is invoked. If the custom action element is empty, only doStart() and doEndTag() are invoked.
  */
 public interface BodyTag extends IterationTag {
 
     /**
-     * Deprecated constant that has the same value as EVAL_BODY_BUFFERED and
-     * EVAL_BODY_AGAIN. This name has been marked as deprecated to encourage the
-     * use of the two different terms, which are much more descriptive.
+     * Deprecated constant that has the same value as EVAL_BODY_BUFFERED and EVAL_BODY_AGAIN. This name has been marked
+     * as deprecated to encourage the use of the two different terms, which are much more descriptive.
      *
-     * @deprecated As of Java JSP API 1.2, use BodyTag.EVAL_BODY_BUFFERED or
-     *             IterationTag.EVAL_BODY_AGAIN.
+     * @deprecated As of Java JSP API 1.2, use BodyTag.EVAL_BODY_BUFFERED or IterationTag.EVAL_BODY_AGAIN.
      */
     @Deprecated
     int EVAL_BODY_TAG = 2;
 
     /**
-     * Request the creation of new buffer, a BodyContent on which to evaluate
-     * the body of this tag. Returned from doStartTag when it implements
-     * BodyTag. This is an illegal return value for doStartTag when the class
-     * does not implement BodyTag.
+     * Request the creation of new buffer, a BodyContent on which to evaluate the body of this tag. Returned from
+     * doStartTag when it implements BodyTag. This is an illegal return value for doStartTag when the class does not
+     * implement BodyTag.
      */
     int EVAL_BODY_BUFFERED = 2;
 
     /**
-     * Set the bodyContent property. This method is invoked by the JSP page
-     * implementation object at most once per action invocation. This method
-     * will be invoked before doInitBody. This method will not be invoked for
-     * empty tags or for non-empty tags whose doStartTag() method returns
-     * SKIP_BODY or EVAL_BODY_INCLUDE.
+     * Set the bodyContent property. This method is invoked by the JSP page implementation object at most once per
+     * action invocation. This method will be invoked before doInitBody. This method will not be invoked for empty tags
+     * or for non-empty tags whose doStartTag() method returns SKIP_BODY or EVAL_BODY_INCLUDE.
      * <p>
-     * When setBodyContent is invoked, the value of the implicit object out has
-     * already been changed in the pageContext object. The BodyContent object
-     * passed will have not data on it but may have been reused (and cleared)
-     * from some previous invocation.
+     * When setBodyContent is invoked, the value of the implicit object out has already been changed in the pageContext
+     * object. The BodyContent object passed will have not data on it but may have been reused (and cleared) from some
+     * previous invocation.
      * <p>
-     * The BodyContent object is available and with the appropriate content
-     * until after the invocation of the doEndTag method, at which case it may
-     * be reused.
+     * The BodyContent object is available and with the appropriate content until after the invocation of the doEndTag
+     * method, at which case it may be reused.
+     *
+     * @param b the BodyContent
      *
-     * @param b
-     *            the BodyContent
      * @see #doInitBody
      * @see #doAfterBody
      */
     void setBodyContent(BodyContent b);
 
     /**
-     * Prepare for evaluation of the body. This method is invoked by the JSP
-     * page implementation object after setBodyContent and before the first time
-     * the body is to be evaluated. This method will not be invoked for empty
-     * tags or for non-empty tags whose doStartTag() method returns SKIP_BODY or
-     * EVAL_BODY_INCLUDE.
+     * Prepare for evaluation of the body. This method is invoked by the JSP page implementation object after
+     * setBodyContent and before the first time the body is to be evaluated. This method will not be invoked for empty
+     * tags or for non-empty tags whose doStartTag() method returns SKIP_BODY or EVAL_BODY_INCLUDE.
      * <p>
-     * The JSP container will resynchronize the values of any AT_BEGIN and
-     * NESTED variables (defined by the associated TagExtraInfo or TLD) after
-     * the invocation of doInitBody().
+     * The JSP container will resynchronize the values of any AT_BEGIN and NESTED variables (defined by the associated
+     * TagExtraInfo or TLD) after the invocation of doInitBody().
+     *
+     * @throws JspException if an error occurred while processing this tag
      *
-     * @throws JspException
-     *             if an error occurred while processing this tag
      * @see #doAfterBody
      */
     void doInitBody() throws JspException;
diff --git a/java/jakarta/servlet/jsp/tagext/BodyTagSupport.java b/java/jakarta/servlet/jsp/tagext/BodyTagSupport.java
index 2c667430f8..ffb5909f95 100644
--- a/java/jakarta/servlet/jsp/tagext/BodyTagSupport.java
+++ b/java/jakarta/servlet/jsp/tagext/BodyTagSupport.java
@@ -22,9 +22,8 @@ import jakarta.servlet.jsp.JspWriter;
 /**
  * A base class for defining tag handlers implementing BodyTag.
  * <p>
- * The BodyTagSupport class implements the BodyTag interface and adds additional
- * convenience methods including getter methods for the bodyContent property and
- * methods to get at the previous out JspWriter.
+ * The BodyTagSupport class implements the BodyTag interface and adds additional convenience methods including getter
+ * methods for the bodyContent property and methods to get at the previous out JspWriter.
  * <p>
  * Many tag handlers will extend BodyTagSupport and only redefine a few methods.
  */
@@ -33,10 +32,8 @@ public class BodyTagSupport extends TagSupport implements BodyTag {
     private static final long serialVersionUID = -7235752615580319833L;
 
     /**
-     * Default constructor, all subclasses are required to only define a public
-     * constructor with the same signature, and to call the superclass
-     * constructor. This constructor is called by the code generated by the JSP
-     * translator.
+     * Default constructor, all subclasses are required to only define a public constructor with the same signature, and
+     * to call the superclass constructor. This constructor is called by the code generated by the JSP translator.
      */
     public BodyTagSupport() {
         super();
@@ -46,8 +43,9 @@ public class BodyTagSupport extends TagSupport implements BodyTag {
      * Default processing of the start tag returning EVAL_BODY_BUFFERED.
      *
      * @return EVAL_BODY_BUFFERED
-     * @throws JspException
-     *             if an error occurred while processing this tag
+     *
+     * @throws JspException if an error occurred while processing this tag
+     *
      * @see BodyTag#doStartTag
      */
     @Override
@@ -59,8 +57,9 @@ public class BodyTagSupport extends TagSupport implements BodyTag {
      * Default processing of the end tag returning EVAL_PAGE.
      *
      * @return EVAL_PAGE
-     * @throws JspException
-     *             if an error occurred while processing this tag
+     *
+     * @throws JspException if an error occurred while processing this tag
+     *
      * @see Tag#doEndTag
      */
     @Override
@@ -73,8 +72,8 @@ public class BodyTagSupport extends TagSupport implements BodyTag {
     /**
      * Prepare for evaluation of the body: stash the bodyContent away.
      *
-     * @param b
-     *            the BodyContent
+     * @param b the BodyContent
+     *
      * @see #doAfterBody
      * @see #doInitBody()
      * @see BodyTag#setBodyContent
@@ -85,11 +84,10 @@ public class BodyTagSupport extends TagSupport implements BodyTag {
     }
 
     /**
-     * Prepare for evaluation of the body just before the first body evaluation:
-     * no action.
+     * Prepare for evaluation of the body just before the first body evaluation: no action.
+     *
+     * @throws JspException if an error occurred while processing this tag
      *
-     * @throws JspException
-     *             if an error occurred while processing this tag
      * @see #setBodyContent
      * @see #doAfterBody
      * @see BodyTag#doInitBody
@@ -100,12 +98,13 @@ public class BodyTagSupport extends TagSupport implements BodyTag {
     }
 
     /**
-     * After the body evaluation: do not reevaluate and continue with the page.
-     * By default nothing is done with the bodyContent data (if any).
+     * After the body evaluation: do not reevaluate and continue with the page. By default nothing is done with the
+     * bodyContent data (if any).
      *
      * @return SKIP_BODY
-     * @throws JspException
-     *             if an error occurred while processing this tag
+     *
+     * @throws JspException if an error occurred while processing this tag
+     *
      * @see #doInitBody
      * @see BodyTag#doAfterBody
      */
diff --git a/java/jakarta/servlet/jsp/tagext/DynamicAttributes.java b/java/jakarta/servlet/jsp/tagext/DynamicAttributes.java
index e5d1a289e9..8a776a9b2a 100644
--- a/java/jakarta/servlet/jsp/tagext/DynamicAttributes.java
+++ b/java/jakarta/servlet/jsp/tagext/DynamicAttributes.java
@@ -19,31 +19,26 @@ package jakarta.servlet.jsp.tagext;
 import jakarta.servlet.jsp.JspException;
 
 /**
- * For a tag to declare that it accepts dynamic attributes, it must implement
- * this interface.  The entry for the tag in the Tag Library Descriptor must
- * also be configured to indicate dynamic attributes are accepted.
- * <br>
- * For any attribute that is not declared in the Tag Library Descriptor for
- * this tag, instead of getting an error at translation time, the
- * <code>setDynamicAttribute()</code> method is called, with the name and
- * value of the attribute.  It is the responsibility of the tag to
- * remember the names and values of the dynamic attributes.
+ * For a tag to declare that it accepts dynamic attributes, it must implement this interface. The entry for the tag in
+ * the Tag Library Descriptor must also be configured to indicate dynamic attributes are accepted. <br>
+ * For any attribute that is not declared in the Tag Library Descriptor for this tag, instead of getting an error at
+ * translation time, the <code>setDynamicAttribute()</code> method is called, with the name and value of the attribute.
+ * It is the responsibility of the tag to remember the names and values of the dynamic attributes.
  *
  * @since JSP 2.0
  */
 public interface DynamicAttributes {
 
     /**
-     * Called when a tag declared to accept dynamic attributes is passed
-     * an attribute that is not declared in the Tag Library Descriptor.
+     * Called when a tag declared to accept dynamic attributes is passed an attribute that is not declared in the Tag
+     * Library Descriptor.
      *
-     * @param uri the namespace of the attribute, or null if in the default
-     *     namespace.
+     * @param uri       the namespace of the attribute, or null if in the default namespace.
      * @param localName the name of the attribute being set.
-     * @param value the value of the attribute
-     * @throws JspException if the tag handler wishes to
-     *     signal that it does not accept the given attribute.  The
-     *     container must not call doStartTag() or doTag() for this tag.
+     * @param value     the value of the attribute
+     *
+     * @throws JspException if the tag handler wishes to signal that it does not accept the given attribute. The
+     *                          container must not call doStartTag() or doTag() for this tag.
      */
     void setDynamicAttribute(String uri, String localName, Object value) throws JspException;
 }
diff --git a/java/jakarta/servlet/jsp/tagext/FunctionInfo.java b/java/jakarta/servlet/jsp/tagext/FunctionInfo.java
index 51968b86a4..70786bbabb 100644
--- a/java/jakarta/servlet/jsp/tagext/FunctionInfo.java
+++ b/java/jakarta/servlet/jsp/tagext/FunctionInfo.java
@@ -17,8 +17,7 @@
 package jakarta.servlet.jsp.tagext;
 
 /**
- * Information for a function in a Tag Library.
- * This class is instantiated from the Tag Library Descriptor file (TLD)
+ * Information for a function in a Tag Library. This class is instantiated from the Tag Library Descriptor file (TLD)
  * and is available only at translation time.
  *
  * @since JSP 2.0
@@ -28,8 +27,8 @@ public class FunctionInfo {
     /**
      * Constructor for FunctionInfo.
      *
-     * @param name The name of the function
-     * @param klass The class of the function
+     * @param name      The name of the function
+     * @param klass     The class of the function
      * @param signature The signature of the function
      */
 
diff --git a/java/jakarta/servlet/jsp/tagext/IterationTag.java b/java/jakarta/servlet/jsp/tagext/IterationTag.java
index 49065a8da2..f207015f36 100644
--- a/java/jakarta/servlet/jsp/tagext/IterationTag.java
+++ b/java/jakarta/servlet/jsp/tagext/IterationTag.java
@@ -20,99 +20,69 @@ import jakarta.servlet.jsp.JspException;
 
 
 /**
- * The IterationTag interface extends Tag by defining one additional
- * method that controls the reevaluation of its body.
- *
- * <p> A tag handler that implements IterationTag is treated as one that
- * implements Tag regarding  the doStartTag() and doEndTag() methods.
- * IterationTag provides a new method: <code>doAfterBody()</code>.
- *
- * <p> The doAfterBody() method is invoked after every body evaluation
- * to control whether the body will be reevaluated or not.  If doAfterBody()
- * returns IterationTag.EVAL_BODY_AGAIN, then the body will be reevaluated.
- * If doAfterBody() returns Tag.SKIP_BODY, then the body will be skipped
- * and doEndTag() will be evaluated instead.
- *
- * <p><B>Properties</B>
- * There are no new properties in addition to those in Tag.
- *
- * <p><B>Methods</B>
- * There is one new methods: doAfterBody().
- *
- * <p><B>Lifecycle</B>
- *
- * <p> Lifecycle details are described by the transition diagram
- * below.  Exceptions that are thrown during the computation of
- * doStartTag(), BODY and doAfterBody() interrupt the execution
- * sequence and are propagated up the stack, unless the tag handler
- * implements the TryCatchFinally interface; see that interface for
- * details.
- *
+ * The IterationTag interface extends Tag by defining one additional method that controls the reevaluation of its body.
  * <p>
- * <IMG src="doc-files/IterationTagProtocol.gif"
- *      alt="Lifecycle Details Transition Diagram for IterationTag">
- *
- * <p><B>Empty and Non-Empty Action</B>
- * <p> If the TagLibraryDescriptor file indicates that the action must
- * always have an empty element body, by a &lt;body-content&gt; entry of
- * "empty", then the doStartTag() method must return SKIP_BODY.
- *
- * <p>Note that which methods are invoked after the doStartTag() depends on
- * both the return value and on if the custom action element is empty
- * or not in the JSP page, not on how it's declared in the TLD.
- *
+ * A tag handler that implements IterationTag is treated as one that implements Tag regarding the doStartTag() and
+ * doEndTag() methods. IterationTag provides a new method: <code>doAfterBody()</code>.
  * <p>
- * If SKIP_BODY is returned the body is not evaluated, and then doEndTag()
- * is invoked.
- *
+ * The doAfterBody() method is invoked after every body evaluation to control whether the body will be reevaluated or
+ * not. If doAfterBody() returns IterationTag.EVAL_BODY_AGAIN, then the body will be reevaluated. If doAfterBody()
+ * returns Tag.SKIP_BODY, then the body will be skipped and doEndTag() will be evaluated instead.
+ * <p>
+ * <B>Properties</B> There are no new properties in addition to those in Tag.
+ * <p>
+ * <B>Methods</B> There is one new methods: doAfterBody().
+ * <p>
+ * <B>Lifecycle</B>
  * <p>
- * If EVAL_BODY_INCLUDE is returned, and the custom action element is not
- * empty, the body is evaluated and "passed through" to the current out,
- * then doAfterBody() is invoked and, after zero or more iterations,
- * doEndTag() is invoked.
+ * Lifecycle details are described by the transition diagram below. Exceptions that are thrown during the computation of
+ * doStartTag(), BODY and doAfterBody() interrupt the execution sequence and are propagated up the stack, unless the tag
+ * handler implements the TryCatchFinally interface; see that interface for details.
+ * <p>
+ * <IMG src="doc-files/IterationTagProtocol.gif" alt="Lifecycle Details Transition Diagram for IterationTag">
+ * <p>
+ * <B>Empty and Non-Empty Action</B>
+ * <p>
+ * If the TagLibraryDescriptor file indicates that the action must always have an empty element body, by a
+ * &lt;body-content&gt; entry of "empty", then the doStartTag() method must return SKIP_BODY.
+ * <p>
+ * Note that which methods are invoked after the doStartTag() depends on both the return value and on if the custom
+ * action element is empty or not in the JSP page, not on how it's declared in the TLD.
+ * <p>
+ * If SKIP_BODY is returned the body is not evaluated, and then doEndTag() is invoked.
+ * <p>
+ * If EVAL_BODY_INCLUDE is returned, and the custom action element is not empty, the body is evaluated and "passed
+ * through" to the current out, then doAfterBody() is invoked and, after zero or more iterations, doEndTag() is invoked.
  */
 
 public interface IterationTag extends Tag {
 
     /**
-     * Request the reevaluation of some body.
-     * Returned from doAfterBody.
-     *
-     * For compatibility with JSP 1.1, the value is carefully selected
-     * to be the same as the, now deprecated, BodyTag.EVAL_BODY_TAG,
-     *
+     * Request the reevaluation of some body. Returned from doAfterBody. For compatibility with JSP 1.1, the value is
+     * carefully selected to be the same as the, now deprecated, BodyTag.EVAL_BODY_TAG,
      */
 
     int EVAL_BODY_AGAIN = 2;
 
     /**
-     * Process body (re)evaluation.  This method is invoked by the
-     * JSP Page implementation object after every evaluation of
-     * the body into the BodyEvaluation object. The method is
-     * not invoked if there is no body evaluation.
-     *
+     * Process body (re)evaluation. This method is invoked by the JSP Page implementation object after every evaluation
+     * of the body into the BodyEvaluation object. The method is not invoked if there is no body evaluation.
      * <p>
-     * If doAfterBody returns EVAL_BODY_AGAIN, a new evaluation of the
-     * body will happen (followed by another invocation of doAfterBody).
-     * If doAfterBody returns SKIP_BODY, no more body evaluations will occur,
-     * and the doEndTag method will be invoked.
-     *
+     * If doAfterBody returns EVAL_BODY_AGAIN, a new evaluation of the body will happen (followed by another invocation
+     * of doAfterBody). If doAfterBody returns SKIP_BODY, no more body evaluations will occur, and the doEndTag method
+     * will be invoked.
      * <p>
-     * If this tag handler implements BodyTag and doAfterBody returns
-     * SKIP_BODY, the value of out will be restored using the popBody
-     * method in pageContext prior to invoking doEndTag.
-     *
+     * If this tag handler implements BodyTag and doAfterBody returns SKIP_BODY, the value of out will be restored using
+     * the popBody method in pageContext prior to invoking doEndTag.
      * <p>
-     * The method re-invocations may be lead to different actions because
-     * there might have been some changes to shared state, or because
-     * of external computation.
-     *
+     * The method re-invocations may be lead to different actions because there might have been some changes to shared
+     * state, or because of external computation.
      * <p>
-     * The JSP container will resynchronize the values of any AT_BEGIN and
-     * NESTED variables (defined by the associated TagExtraInfo or TLD) after
-     * the invocation of doAfterBody().
+     * The JSP container will resynchronize the values of any AT_BEGIN and NESTED variables (defined by the associated
+     * TagExtraInfo or TLD) after the invocation of doAfterBody().
      *
      * @return whether additional evaluations of the body are desired
+     *
      * @throws JspException if an error occurred while processing this tag
      */
     int doAfterBody() throws JspException;
diff --git a/java/jakarta/servlet/jsp/tagext/JspFragment.java b/java/jakarta/servlet/jsp/tagext/JspFragment.java
index 18890d80e9..94842324fd 100644
--- a/java/jakarta/servlet/jsp/tagext/JspFragment.java
+++ b/java/jakarta/servlet/jsp/tagext/JspFragment.java
@@ -23,32 +23,24 @@ import jakarta.servlet.jsp.JspContext;
 import jakarta.servlet.jsp.JspException;
 
 /**
- * Encapsulates a portion of JSP code in an object that
- * can be invoked as many times as needed.  JSP Fragments are defined
- * using JSP syntax as the body of a tag for an invocation to a SimpleTag
- * handler, or as the body of a &lt;jsp:attribute&gt; standard action
- * specifying the value of an attribute that is declared as a fragment,
- * or to be of type JspFragment in the TLD.
+ * Encapsulates a portion of JSP code in an object that can be invoked as many times as needed. JSP Fragments are
+ * defined using JSP syntax as the body of a tag for an invocation to a SimpleTag handler, or as the body of a
+ * &lt;jsp:attribute&gt; standard action specifying the value of an attribute that is declared as a fragment, or to be
+ * of type JspFragment in the TLD.
  * <p>
- * The definition of the JSP fragment must only contain template
- * text and JSP action elements.  In other words, it must not contain
- * scriptlets or scriptlet expressions.  At translation time, the
- * container generates an implementation of the JspFragment abstract class
- * capable of executing the defined fragment.
+ * The definition of the JSP fragment must only contain template text and JSP action elements. In other words, it must
+ * not contain scriptlets or scriptlet expressions. At translation time, the container generates an implementation of
+ * the JspFragment abstract class capable of executing the defined fragment.
  * <p>
- * A tag handler can invoke the fragment zero or more times, or
- * pass it along to other tags, before returning.  To communicate values
- * to/from a JSP fragment, tag handlers store/retrieve values in
- * the JspContext associated with the fragment.
+ * A tag handler can invoke the fragment zero or more times, or pass it along to other tags, before returning. To
+ * communicate values to/from a JSP fragment, tag handlers store/retrieve values in the JspContext associated with the
+ * fragment.
  * <p>
- * Note that tag library developers and page authors should not generate
- * JspFragment implementations manually.
+ * Note that tag library developers and page authors should not generate JspFragment implementations manually.
  * <p>
- * <i>Implementation Note</i>: It is not necessary to generate a
- * separate class for each fragment.  One possible implementation is
- * to generate a single helper class for each page that implements
- * JspFragment. Upon construction, a discriminator can be passed to
- * select which fragment that instance will execute.
+ * <i>Implementation Note</i>: It is not necessary to generate a separate class for each fragment. One possible
+ * implementation is to generate a single helper class for each page that implements JspFragment. Upon construction, a
+ * discriminator can be passed to select which fragment that instance will execute.
  *
  * @since JSP 2.0
  */
@@ -62,24 +54,20 @@ public abstract class JspFragment {
     }
 
     /**
-     * Executes the fragment and directs all output to the given Writer,
-     * or the JspWriter returned by the getOut() method of the JspContext
-     * associated with the fragment if out is null.
+     * Executes the fragment and directs all output to the given Writer, or the JspWriter returned by the getOut()
+     * method of the JspContext associated with the fragment if out is null.
      *
-     * @param out The Writer to output the fragment to, or null if
-     *     output should be sent to JspContext.getOut().
-     * @throws jakarta.servlet.jsp.JspException Thrown if an error occurred
-     *     while invoking this fragment.
-     * @throws jakarta.servlet.jsp.SkipPageException Thrown if the page
-     *     that (either directly or indirectly) invoked the tag handler that
-     *     invoked this fragment is to cease evaluation.  The container
-     *     must throw this exception if a Classic Tag Handler returned
-     *     Tag.SKIP_PAGE or if a Simple Tag Handler threw SkipPageException.
-     * @throws java.io.IOException If there was an error writing to the
-     *     stream.
+     * @param out The Writer to output the fragment to, or null if output should be sent to JspContext.getOut().
+     *
+     * @throws jakarta.servlet.jsp.JspException      Thrown if an error occurred while invoking this fragment.
+     * @throws jakarta.servlet.jsp.SkipPageException Thrown if the page that (either directly or indirectly) invoked the
+     *                                                   tag handler that invoked this fragment is to cease evaluation.
+     *                                                   The container must throw this exception if a Classic Tag
+     *                                                   Handler returned Tag.SKIP_PAGE or if a Simple Tag Handler threw
+     *                                                   SkipPageException.
+     * @throws java.io.IOException                   If there was an error writing to the stream.
      */
-    public abstract void invoke( Writer out )
-        throws JspException, IOException;
+    public abstract void invoke(Writer out) throws JspException, IOException;
 
     /**
      * Returns the JspContext that is bound to this JspFragment.
diff --git a/java/jakarta/servlet/jsp/tagext/JspIdConsumer.java b/java/jakarta/servlet/jsp/tagext/JspIdConsumer.java
index 23ac83f34c..f8cfea58fc 100644
--- a/java/jakarta/servlet/jsp/tagext/JspIdConsumer.java
+++ b/java/jakarta/servlet/jsp/tagext/JspIdConsumer.java
@@ -17,8 +17,7 @@
 package jakarta.servlet.jsp.tagext;
 
 /**
- * Interface that allows tag handlers to be provided with a unique (within the
- * scope of the web application) ID.
+ * Interface that allows tag handlers to be provided with a unique (within the scope of the web application) ID.
  */
 public interface JspIdConsumer {
 
diff --git a/java/jakarta/servlet/jsp/tagext/JspTag.java b/java/jakarta/servlet/jsp/tagext/JspTag.java
index 6f0f6ea959..e52984ff90 100644
--- a/java/jakarta/servlet/jsp/tagext/JspTag.java
+++ b/java/jakarta/servlet/jsp/tagext/JspTag.java
@@ -17,8 +17,7 @@
 package jakarta.servlet.jsp.tagext;
 
 /**
- * Serves as a base class for Tag and SimpleTag.
- * This is mostly for organizational and type-safety purposes.
+ * Serves as a base class for Tag and SimpleTag. This is mostly for organizational and type-safety purposes.
  *
  * @since JSP 2.0
  */
diff --git a/java/jakarta/servlet/jsp/tagext/PageData.java b/java/jakarta/servlet/jsp/tagext/PageData.java
index 4d40658067..d0894fb7ad 100644
--- a/java/jakarta/servlet/jsp/tagext/PageData.java
+++ b/java/jakarta/servlet/jsp/tagext/PageData.java
@@ -19,28 +19,23 @@ package jakarta.servlet.jsp.tagext;
 import java.io.InputStream;
 
 /**
- * Translation-time information on a JSP page.  The information
- * corresponds to the XML view of the JSP page.
- *
+ * Translation-time information on a JSP page. The information corresponds to the XML view of the JSP page.
  * <p>
- * Objects of this type are generated by the JSP translator, e.g.
- * when being passed to a TagLibraryValidator instance.
+ * Objects of this type are generated by the JSP translator, e.g. when being passed to a TagLibraryValidator instance.
  */
 
 public abstract class PageData {
 
     /**
-     * Sole constructor. (For invocation by subclass constructors,
-     * typically implicit.)
+     * Sole constructor. (For invocation by subclass constructors, typically implicit.)
      */
     public PageData() {
         // NOOP by default
     }
 
     /**
-     * Returns an input stream on the XML view of a JSP page.
-     * The stream is encoded in UTF-8.  Recall that the XML view of a
-     * JSP page has the include directives expanded.
+     * Returns an input stream on the XML view of a JSP page. The stream is encoded in UTF-8. Recall that the XML view
+     * of a JSP page has the include directives expanded.
      *
      * @return An input stream on the document.
      */
diff --git a/java/jakarta/servlet/jsp/tagext/SimpleTag.java b/java/jakarta/servlet/jsp/tagext/SimpleTag.java
index e15fc6ca25..35d1d7cd0f 100644
--- a/java/jakarta/servlet/jsp/tagext/SimpleTag.java
+++ b/java/jakarta/servlet/jsp/tagext/SimpleTag.java
@@ -20,92 +20,74 @@ import jakarta.servlet.jsp.JspContext;
 
 /**
  * Interface for defining Simple Tag Handlers.
- *
- * <p>Simple Tag Handlers differ from Classic Tag Handlers in that instead
- * of supporting <code>doStartTag()</code> and <code>doEndTag()</code>,
- * the <code>SimpleTag</code> interface provides a simple
- * <code>doTag()</code> method, which is called once and only once for any
- * given tag invocation.  All tag logic, iteration, body evaluations, etc.
- * are to be performed in this single method.  Thus, simple tag handlers
- * have the equivalent power of <code>BodyTag</code>, but with a much
- * simpler lifecycle and interface.</p>
- *
- * <p>To support body content, the <code>setJspBody()</code>
- * method is provided.  The container invokes the <code>setJspBody()</code>
- * method with a <code>JspFragment</code> object encapsulating the body of
- * the tag.  The tag handler implementation can call
- * <code>invoke()</code> on that fragment to evaluate the body as
- * many times as it needs.</p>
- *
- * <p>A SimpleTag handler must have a public no-args constructor.  Most
- * SimpleTag handlers should extend SimpleTagSupport.</p>
- *
- * <p><b>Lifecycle</b></p>
- *
- * <p>The following is a non-normative, brief overview of the
- * SimpleTag lifecycle.  Refer to the JSP Specification for details.</p>
- *
+ * <p>
+ * Simple Tag Handlers differ from Classic Tag Handlers in that instead of supporting <code>doStartTag()</code> and
+ * <code>doEndTag()</code>, the <code>SimpleTag</code> interface provides a simple <code>doTag()</code> method, which is
+ * called once and only once for any given tag invocation. All tag logic, iteration, body evaluations, etc. are to be
+ * performed in this single method. Thus, simple tag handlers have the equivalent power of <code>BodyTag</code>, but
+ * with a much simpler lifecycle and interface.
+ * </p>
+ * <p>
+ * To support body content, the <code>setJspBody()</code> method is provided. The container invokes the
+ * <code>setJspBody()</code> method with a <code>JspFragment</code> object encapsulating the body of the tag. The tag
+ * handler implementation can call <code>invoke()</code> on that fragment to evaluate the body as many times as it
+ * needs.
+ * </p>
+ * <p>
+ * A SimpleTag handler must have a public no-args constructor. Most SimpleTag handlers should extend SimpleTagSupport.
+ * </p>
+ * <p>
+ * <b>Lifecycle</b>
+ * </p>
+ * <p>
+ * The following is a non-normative, brief overview of the SimpleTag lifecycle. Refer to the JSP Specification for
+ * details.
+ * </p>
  * <ol>
- *   <li>A new tag handler instance is created each time by the container
- *       by calling the provided zero-args constructor.  Unlike classic
- *       tag handlers, simple tag handlers are never cached and reused by
- *       the JSP container.</li>
- *   <li>The <code>setJspContext()</code> and <code>setParent()</code>
- *       methods are called by the container.  The <code>setParent()</code>
- *       method is only called if the element is nested within another tag
- *       invocation.</li>
- *   <li>The setters for each attribute defined for this tag are called
- *       by the container.</li>
- *   <li>If a body exists, the <code>setJspBody()</code> method is called
- *       by the container to set the body of this tag, as a
- *       <code>JspFragment</code>.  If the action element is empty in
- *       the page, this method is not called at all.</li>
- *   <li>The <code>doTag()</code> method is called by the container.  All
- *       tag logic, iteration, body evaluations, etc. occur in this
- *       method.</li>
- *   <li>The <code>doTag()</code> method returns and all variables are
- *       synchronized.</li>
+ * <li>A new tag handler instance is created each time by the container by calling the provided zero-args constructor.
+ * Unlike classic tag handlers, simple tag handlers are never cached and reused by the JSP container.</li>
+ * <li>The <code>setJspContext()</code> and <code>setParent()</code> methods are called by the container. The
+ * <code>setParent()</code> method is only called if the element is nested within another tag invocation.</li>
+ * <li>The setters for each attribute defined for this tag are called by the container.</li>
+ * <li>If a body exists, the <code>setJspBody()</code> method is called by the container to set the body of this tag, as
+ * a <code>JspFragment</code>. If the action element is empty in the page, this method is not called at all.</li>
+ * <li>The <code>doTag()</code> method is called by the container. All tag logic, iteration, body evaluations, etc.
+ * occur in this method.</li>
+ * <li>The <code>doTag()</code> method returns and all variables are synchronized.</li>
  * </ol>
  *
  * @see SimpleTagSupport
+ *
  * @since JSP 2.0
  */
 public interface SimpleTag extends JspTag {
 
     /**
-     * Called by the container to invoke this tag.
-     * The implementation of this method is provided by the tag library
+     * Called by the container to invoke this tag. The implementation of this method is provided by the tag library
      * developer, and handles all tag processing, body iteration, etc.
-     *
      * <p>
-     * The JSP container will resynchronize any AT_BEGIN and AT_END
-     * variables (defined by the associated tag file, TagExtraInfo, or TLD)
-     * after the invocation of doTag().
+     * The JSP container will resynchronize any AT_BEGIN and AT_END variables (defined by the associated tag file,
+     * TagExtraInfo, or TLD) after the invocation of doTag().
      *
-     * @throws jakarta.servlet.jsp.JspException If an error occurred
-     *     while processing this tag.
-     * @throws jakarta.servlet.jsp.SkipPageException If the page that
-     *     (either directly or indirectly) invoked this tag is to
-     *     cease evaluation.  A Simple Tag Handler generated from a
-     *     tag file must throw this exception if an invoked Classic
-     *     Tag Handler returned SKIP_PAGE or if an invoked Simple
-     *     Tag Handler threw SkipPageException or if an invoked Jsp Fragment
-     *     threw a SkipPageException.
-     * @throws java.io.IOException If there was an error writing to the
-     *     output stream.
+     * @throws jakarta.servlet.jsp.JspException      If an error occurred while processing this tag.
+     * @throws jakarta.servlet.jsp.SkipPageException If the page that (either directly or indirectly) invoked this tag
+     *                                                   is to cease evaluation. A Simple Tag Handler generated from a
+     *                                                   tag file must throw this exception if an invoked Classic Tag
+     *                                                   Handler returned SKIP_PAGE or if an invoked Simple Tag Handler
+     *                                                   threw SkipPageException or if an invoked Jsp Fragment threw a
+     *                                                   SkipPageException.
+     * @throws java.io.IOException                   If there was an error writing to the output stream.
      */
-    void doTag()
-        throws jakarta.servlet.jsp.JspException, java.io.IOException;
+    void doTag() throws jakarta.servlet.jsp.JspException, java.io.IOException;
 
     /**
      * Sets the parent of this tag, for collaboration purposes.
      * <p>
-     * The container invokes this method only if this tag invocation is
-     * nested within another tag invocation.
+     * The container invokes this method only if this tag invocation is nested within another tag invocation.
      *
      * @param parent the tag that encloses this tag
      */
-    void setParent( JspTag parent );
+    void setParent(JspTag parent);
 
     /**
      * Returns the parent of this tag, for collaboration purposes.
@@ -115,26 +97,24 @@ public interface SimpleTag extends JspTag {
     JspTag getParent();
 
     /**
-     * Called by the container to provide this tag handler with
-     * the <code>JspContext</code> for this invocation.
-     * An implementation should save this value.
+     * Called by the container to provide this tag handler with the <code>JspContext</code> for this invocation. An
+     * implementation should save this value.
      *
      * @param pc the page context for this invocation
+     *
      * @see Tag#setPageContext
      */
-    void setJspContext( JspContext pc );
+    void setJspContext(JspContext pc);
 
     /**
-     * Provides the body of this tag as a JspFragment object, able to be
-     * invoked zero or more times by the tag handler.
+     * Provides the body of this tag as a JspFragment object, able to be invoked zero or more times by the tag handler.
      * <p>
-     * This method is invoked by the JSP page implementation
-     * object prior to <code>doTag()</code>.  If the action element is
-     * empty in the page, this method is not called at all.
+     * This method is invoked by the JSP page implementation object prior to <code>doTag()</code>. If the action element
+     * is empty in the page, this method is not called at all.
      *
      * @param jspBody The fragment encapsulating the body of this tag.
      */
-    void setJspBody( JspFragment jspBody );
+    void setJspBody(JspFragment jspBody);
 
 
 }
diff --git a/java/jakarta/servlet/jsp/tagext/SimpleTagSupport.java b/java/jakarta/servlet/jsp/tagext/SimpleTagSupport.java
index de260f9530..0230990a9d 100644
--- a/java/jakarta/servlet/jsp/tagext/SimpleTagSupport.java
+++ b/java/jakarta/servlet/jsp/tagext/SimpleTagSupport.java
@@ -24,11 +24,9 @@ import jakarta.servlet.jsp.JspException;
 /**
  * A base class for defining tag handlers implementing SimpleTag.
  * <p>
- * The SimpleTagSupport class is a utility class intended to be used
- * as the base class for new simple tag handlers.  The SimpleTagSupport
- * class implements the SimpleTag interface and adds additional
- * convenience methods including getter methods for the properties in
- * SimpleTag.
+ * The SimpleTagSupport class is a utility class intended to be used as the base class for new simple tag handlers. The
+ * SimpleTagSupport class implements the SimpleTag interface and adds additional convenience methods including getter
+ * methods for the properties in SimpleTag.
  *
  * @since JSP 2.0
  */
@@ -43,8 +41,7 @@ public class SimpleTagSupport implements SimpleTag {
     private JspFragment jspBody;
 
     /**
-     * Sole constructor. (For invocation by subclass constructors,
-     * typically implicit.)
+     * Sole constructor. (For invocation by subclass constructors, typically implicit.)
      */
     public SimpleTagSupport() {
         // NOOP by default
@@ -53,17 +50,17 @@ public class SimpleTagSupport implements SimpleTag {
     /**
      * Default processing of the tag does nothing.
      *
-     * @throws JspException Subclasses can throw JspException to indicate
-     *     an error occurred while processing this tag.
-     * @throws jakarta.servlet.jsp.SkipPageException If the page that
-     *     (either directly or indirectly) invoked this tag is to
-     *     cease evaluation.  A Simple Tag Handler generated from a
-     *     tag file must throw this exception if an invoked Classic
-     *     Tag Handler returned SKIP_PAGE or if an invoked Simple
-     *     Tag Handler threw SkipPageException or if an invoked Jsp Fragment
-     *     threw a SkipPageException.
-     * @throws IOException Subclasses can throw IOException if there was
-     *     an error writing to the output stream
+     * @throws JspException                          Subclasses can throw JspException to indicate an error occurred
+     *                                                   while processing this tag.
+     * @throws jakarta.servlet.jsp.SkipPageException If the page that (either directly or indirectly) invoked this tag
+     *                                                   is to cease evaluation. A Simple Tag Handler generated from a
+     *                                                   tag file must throw this exception if an invoked Classic Tag
+     *                                                   Handler returned SKIP_PAGE or if an invoked Simple Tag Handler
+     *                                                   threw SkipPageException or if an invoked Jsp Fragment threw a
+     *                                                   SkipPageException.
+     * @throws IOException                           Subclasses can throw IOException if there was an error writing to
+     *                                                   the output stream
+     *
      * @see SimpleTag#doTag()
      */
     @Override
@@ -74,13 +71,12 @@ public class SimpleTagSupport implements SimpleTag {
     /**
      * Sets the parent of this tag, for collaboration purposes.
      * <p>
-     * The container invokes this method only if this tag invocation is
-     * nested within another tag invocation.
+     * The container invokes this method only if this tag invocation is nested within another tag invocation.
      *
      * @param parent the tag that encloses this tag
      */
     @Override
-    public void setParent( JspTag parent ) {
+    public void setParent(JspTag parent) {
         this.parentTag = parent;
     }
 
@@ -95,21 +91,20 @@ public class SimpleTagSupport implements SimpleTag {
     }
 
     /**
-     * Stores the provided JSP context in the private jspContext field.
-     * Subclasses can access the <code>JspContext</code> via
-     * <code>getJspContext()</code>.
+     * Stores the provided JSP context in the private jspContext field. Subclasses can access the
+     * <code>JspContext</code> via <code>getJspContext()</code>.
      *
      * @param pc the page context for this invocation
+     *
      * @see SimpleTag#setJspContext
      */
     @Override
-    public void setJspContext( JspContext pc ) {
+    public void setJspContext(JspContext pc) {
         this.jspContext = pc;
     }
 
     /**
-     * Returns the page context passed in by the container via
-     * setJspContext.
+     * Returns the page context passed in by the container via setJspContext.
      *
      * @return the page context for this invocation
      */
@@ -120,79 +115,63 @@ public class SimpleTagSupport implements SimpleTag {
     /**
      * Stores the provided JspFragment.
      *
-     * @param jspBody The fragment encapsulating the body of this tag.
-     *     If the action element is empty in the page, this method is
-     *     not called at all.
+     * @param jspBody The fragment encapsulating the body of this tag. If the action element is empty in the page, this
+     *                    method is not called at all.
+     *
      * @see SimpleTag#setJspBody
      */
     @Override
-    public void setJspBody( JspFragment jspBody ) {
+    public void setJspBody(JspFragment jspBody) {
         this.jspBody = jspBody;
     }
 
     /**
      * Returns the body passed in by the container via setJspBody.
      *
-     * @return the fragment encapsulating the body of this tag, or
-     *    null if the action element is empty in the page.
+     * @return the fragment encapsulating the body of this tag, or null if the action element is empty in the page.
      */
     protected JspFragment getJspBody() {
         return this.jspBody;
     }
 
     /**
-     * Find the instance of a given class type that is closest to a given
-     * instance.
-     * This method uses the getParent method from the Tag and/or SimpleTag
-     * interfaces.  This method is used for coordination among
-     * cooperating tags.
-     *
-     * <p> For every instance of TagAdapter
-     * encountered while traversing the ancestors, the tag handler returned by
-     * <code>TagAdapter.getAdaptee()</code> - instead of the TagAdapter itself -
-     * is compared to <code>klass</code>. If the tag handler matches, it - and
-     * not its TagAdapter - is returned.
-     *
+     * Find the instance of a given class type that is closest to a given instance. This method uses the getParent
+     * method from the Tag and/or SimpleTag interfaces. This method is used for coordination among cooperating tags.
      * <p>
-     * The current version of the specification only provides one formal
-     * way of indicating the observable type of a tag handler: its
-     * tag handler implementation class, described in the tag-class
-     * subelement of the tag element.  This is extended in an
-     * informal manner by allowing the tag library author to
-     * indicate in the description subelement an observable type.
-     * The type should be a subtype of the tag handler implementation
-     * class or void.
-     * This additional constraint can be exploited by a
-     * specialized container that knows about that specific tag library,
-     * as in the case of the JSP standard tag library.
-     *
+     * For every instance of TagAdapter encountered while traversing the ancestors, the tag handler returned by
+     * <code>TagAdapter.getAdaptee()</code> - instead of the TagAdapter itself - is compared to <code>klass</code>. If
+     * the tag handler matches, it - and not its TagAdapter - is returned.
      * <p>
-     * When a tag library author provides information on the
-     * observable type of a tag handler, client programmatic code
-     * should adhere to that constraint.  Specifically, the Class
-     * passed to findAncestorWithClass should be a subtype of the
-     * observable type.
-     *
+     * The current version of the specification only provides one formal way of indicating the observable type of a tag
+     * handler: its tag handler implementation class, described in the tag-class subelement of the tag element. This is
+     * extended in an informal manner by allowing the tag library author to indicate in the description subelement an
+     * observable type. The type should be a subtype of the tag handler implementation class or void. This additional
+     * constraint can be exploited by a specialized container that knows about that specific tag library, as in the case
+     * of the JSP standard tag library.
+     * <p>
+     * When a tag library author provides information on the observable type of a tag handler, client programmatic code
+     * should adhere to that constraint. Specifically, the Class passed to findAncestorWithClass should be a subtype of
+     * the observable type.
      *
-     * @param from The instance from where to start looking.
+     * @param from  The instance from where to start looking.
      * @param klass The subclass of JspTag or interface to be matched
-     * @return the nearest ancestor that implements the interface
-     * or is an instance of the class specified
+     *
+     * @return the nearest ancestor that implements the interface or is an instance of the class specified
      */
     public static final JspTag findAncestorWithClass(JspTag from, Class<?> klass) {
         boolean isInterface = false;
 
-        if (from == null || klass == null || (!JspTag.class.isAssignableFrom(klass) &&
-                !(isInterface = klass.isInterface()))) {
+        if (from == null || klass == null ||
+                (!JspTag.class.isAssignableFrom(klass) && !(isInterface = klass.isInterface()))) {
             return null;
         }
 
         for (;;) {
             JspTag parent = null;
-            if( from instanceof SimpleTag ) {
-                parent = ((SimpleTag)from).getParent();
-            } else if( from instanceof Tag ) {
-                parent = ((Tag)from).getParent();
+            if (from instanceof SimpleTag) {
+                parent = ((SimpleTag) from).getParent();
+            } else if (from instanceof Tag) {
+                parent = ((Tag) from).getParent();
             }
             if (parent == null) {
                 return null;
@@ -202,8 +181,7 @@ public class SimpleTagSupport implements SimpleTag {
                 parent = ((TagAdapter) parent).getAdaptee();
             }
 
-            if ((isInterface && klass.isInstance(parent)) ||
-                    klass.isAssignableFrom(parent.getClass())) {
+            if ((isInterface && klass.isInstance(parent)) || klass.isAssignableFrom(parent.getClass())) {
                 return parent;
             }
 
diff --git a/java/jakarta/servlet/jsp/tagext/Tag.java b/java/jakarta/servlet/jsp/tagext/Tag.java
index cd5291fcfb..16314411f6 100644
--- a/java/jakarta/servlet/jsp/tagext/Tag.java
+++ b/java/jakarta/servlet/jsp/tagext/Tag.java
@@ -21,99 +21,91 @@ import jakarta.servlet.jsp.PageContext;
 
 
 /**
- * The interface of a classic tag handler that does not want to manipulate
- * its body.  The Tag interface defines the basic protocol between a Tag
- * handler and JSP page implementation class.  It defines the life cycle
- * and the methods to be invoked at start and end tag.
- *
- * <p><B>Properties</B></p>
- *
- * <p>The Tag interface specifies the setter and getter methods for the core
- * pageContext and parent properties.</p>
- *
- * <p>The JSP page implementation object invokes setPageContext and
- * setParent, in that order, before invoking doStartTag() or doEndTag().</p>
- *
- * <p><B>Methods</B></p>
- *
- * <p>There are two main actions: doStartTag and doEndTag.  Once all
- * appropriate properties have been initialized, the doStartTag and
- * doEndTag methods can be invoked on the tag handler.  Between these
- * invocations, the tag handler is assumed to hold a state that must
- * be preserved.  After the doEndTag invocation, the tag handler is
- * available for further invocations (and it is expected to have
- * retained its properties).</p>
- *
- * <p><B>Lifecycle</B></p>
- *
- * <p>Lifecycle details are described by the transition diagram below,
- * with the following comments:</p>
+ * The interface of a classic tag handler that does not want to manipulate its body. The Tag interface defines the basic
+ * protocol between a Tag handler and JSP page implementation class. It defines the life cycle and the methods to be
+ * invoked at start and end tag.
+ * <p>
+ * <B>Properties</B>
+ * </p>
+ * <p>
+ * The Tag interface specifies the setter and getter methods for the core pageContext and parent properties.
+ * </p>
+ * <p>
+ * The JSP page implementation object invokes setPageContext and setParent, in that order, before invoking doStartTag()
+ * or doEndTag().
+ * </p>
+ * <p>
+ * <B>Methods</B>
+ * </p>
+ * <p>
+ * There are two main actions: doStartTag and doEndTag. Once all appropriate properties have been initialized, the
+ * doStartTag and doEndTag methods can be invoked on the tag handler. Between these invocations, the tag handler is
+ * assumed to hold a state that must be preserved. After the doEndTag invocation, the tag handler is available for
+ * further invocations (and it is expected to have retained its properties).
+ * </p>
+ * <p>
+ * <B>Lifecycle</B>
+ * </p>
+ * <p>
+ * Lifecycle details are described by the transition diagram below, with the following comments:
+ * </p>
  * <ul>
- * <li> [1] This transition is intended to be for releasing long-term data.
- * no guarantees are assumed on whether any properties have been retained
- * or not.
- * <li> [2] This transition happens if and only if the tag ends normally
- * without raising an exception
- * <li> [3] Some setters may be called again before a tag handler is
- * reused.  For instance, <code>setParent()</code> is called if it's
- * reused within the same page but at a different level,
- * <code>setPageContext()</code> is called if it's used in another page,
- * and attribute setters are called if the values differ or are expressed
- * as request-time attribute values.
- * <li> Check the TryCatchFinally interface for additional details related
- * to exception handling and resource management.
+ * <li>[1] This transition is intended to be for releasing long-term data. no guarantees are assumed on whether any
+ * properties have been retained or not.
+ * <li>[2] This transition happens if and only if the tag ends normally without raising an exception
+ * <li>[3] Some setters may be called again before a tag handler is reused. For instance, <code>setParent()</code> is
+ * called if it's reused within the same page but at a different level, <code>setPageContext()</code> is called if it's
+ * used in another page, and attribute setters are called if the values differ or are expressed as request-time
+ * attribute values.
+ * <li>Check the TryCatchFinally interface for additional details related to exception handling and resource management.
  * </ul>
- *
- * <IMG src="doc-files/TagProtocol.gif"
- *      alt="Lifecycle Details Transition Diagram for Tag">
- *
- * <p>Once all invocations on the tag handler
- * are completed, the release method is invoked on it.  Once a release
- * method is invoked <em>all</em> properties, including parent and
- * pageContext, are assumed to have been reset to an unspecified value.
- * The page compiler guarantees that release() will be invoked on the Tag
- * handler before the handler is released to the GC.</p>
- *
- * <p><B>Empty and Non-Empty Action</B></p>
- * <p>If the TagLibraryDescriptor file indicates that the action must
- * always have an empty action, by an &lt;body-content&gt; entry of "empty",
- * then the doStartTag() method must return SKIP_BODY.</p>
- *
- * <p>Otherwise, the doStartTag() method may return SKIP_BODY or
- * EVAL_BODY_INCLUDE.</p>
- *
- * <p>If SKIP_BODY is returned the body, if present, is not evaluated.</p>
- *
- * <p>If EVAL_BODY_INCLUDE is returned, the body is evaluated and
- * "passed through" to the current out.</p>
+ * <IMG src="doc-files/TagProtocol.gif" alt="Lifecycle Details Transition Diagram for Tag">
+ * <p>
+ * Once all invocations on the tag handler are completed, the release method is invoked on it. Once a release method is
+ * invoked <em>all</em> properties, including parent and pageContext, are assumed to have been reset to an unspecified
+ * value. The page compiler guarantees that release() will be invoked on the Tag handler before the handler is released
+ * to the GC.
+ * </p>
+ * <p>
+ * <B>Empty and Non-Empty Action</B>
+ * </p>
+ * <p>
+ * If the TagLibraryDescriptor file indicates that the action must always have an empty action, by an
+ * &lt;body-content&gt; entry of "empty", then the doStartTag() method must return SKIP_BODY.
+ * </p>
+ * <p>
+ * Otherwise, the doStartTag() method may return SKIP_BODY or EVAL_BODY_INCLUDE.
+ * </p>
+ * <p>
+ * If SKIP_BODY is returned the body, if present, is not evaluated.
+ * </p>
+ * <p>
+ * If EVAL_BODY_INCLUDE is returned, the body is evaluated and "passed through" to the current out.
+ * </p>
  */
 
 public interface Tag extends JspTag {
 
     /**
-     * Skip body evaluation.
-     * Valid return value for doStartTag and doAfterBody.
+     * Skip body evaluation. Valid return value for doStartTag and doAfterBody.
      */
 
     int SKIP_BODY = 0;
 
     /**
-     * Evaluate body into existing out stream.
-     * Valid return value for doStartTag.
+     * Evaluate body into existing out stream. Valid return value for doStartTag.
      */
 
     int EVAL_BODY_INCLUDE = 1;
 
     /**
-     * Skip the rest of the page.
-     * Valid return value for doEndTag.
+     * Skip the rest of the page. Valid return value for doEndTag.
      */
 
     int SKIP_PAGE = 5;
 
     /**
-     * Continue evaluating the page.
-     * Valid return value for doEndTag().
+     * Continue evaluating the page. Valid return value for doEndTag().
      */
 
     int EVAL_PAGE = 6;
@@ -122,12 +114,10 @@ public interface Tag extends JspTag {
 
 
     /**
-     * Set the current page context.
-     * This method is invoked by the JSP page implementation object
-     * prior to doStartTag().
+     * Set the current page context. This method is invoked by the JSP page implementation object prior to doStartTag().
      * <p>
-     * This value is *not* reset by doEndTag() and must be explicitly reset
-     * by a page implementation if it changes between calls to doStartTag().
+     * This value is *not* reset by doEndTag() and must be explicitly reset by a page implementation if it changes
+     * between calls to doStartTag().
      *
      * @param pc The page context for this tag handler.
      */
@@ -136,11 +126,10 @@ public interface Tag extends JspTag {
 
 
     /**
-     * Set the parent (closest enclosing tag handler) of this tag handler.
-     * Invoked by the JSP page implementation object prior to doStartTag().
+     * Set the parent (closest enclosing tag handler) of this tag handler. Invoked by the JSP page implementation object
+     * prior to doStartTag().
      * <p>
-     * This value is *not* reset by doEndTag() and must be explicitly reset
-     * by a page implementation.
+     * This value is *not* reset by doEndTag() and must be explicitly reset by a page implementation.
      *
      * @param t The parent tag, or null.
      */
@@ -151,27 +140,20 @@ public interface Tag extends JspTag {
 
     /**
      * Get the parent (closest enclosing tag handler) for this tag handler.
-     *
      * <p>
-     * The getParent() method can be used to navigate the nested tag
-     * handler structure at runtime for cooperation among custom actions;
-     * for example, the findAncestorWithClass() method in TagSupport
-     * provides a convenient way of doing this.
-     *
+     * The getParent() method can be used to navigate the nested tag handler structure at runtime for cooperation among
+     * custom actions; for example, the findAncestorWithClass() method in TagSupport provides a convenient way of doing
+     * this.
      * <p>
-     * The current version of the specification only provides one formal
-     * way of indicating the observable type of a tag handler: its
-     * tag handler implementation class, described in the tag-class
-     * sub-element of the tag element.  This is extended in an
-     * informal manner by allowing the tag library author to
-     * indicate in the description sub-element an observable type.
-     * The type should be a sub-type of the tag handler implementation
-     * class or void.
-     * This additional constraint can be exploited by a
-     * specialized container that knows about that specific tag library,
-     * as in the case of the JSP standard tag library.
+     * The current version of the specification only provides one formal way of indicating the observable type of a tag
+     * handler: its tag handler implementation class, described in the tag-class sub-element of the tag element. This is
+     * extended in an informal manner by allowing the tag library author to indicate in the description sub-element an
+     * observable type. The type should be a sub-type of the tag handler implementation class or void. This additional
+     * constraint can be exploited by a specialized container that knows about that specific tag library, as in the case
+     * of the JSP standard tag library.
      *
      * @return the current parent, or null if none.
+     *
      * @see TagSupport#findAncestorWithClass
      */
 
@@ -182,40 +164,28 @@ public interface Tag extends JspTag {
 
 
     /**
-     * Process the start tag for this instance.
-     * This method is invoked by the JSP page implementation object.
-     *
+     * Process the start tag for this instance. This method is invoked by the JSP page implementation object.
      * <p>
-     * The doStartTag method assumes that the properties pageContext and
-     * parent have been set. It also assumes that any properties exposed as
-     * attributes have been set too.  When this method is invoked, the body
-     * has not yet been evaluated.
-     *
+     * The doStartTag method assumes that the properties pageContext and parent have been set. It also assumes that any
+     * properties exposed as attributes have been set too. When this method is invoked, the body has not yet been
+     * evaluated.
      * <p>
-     * This method returns Tag.EVAL_BODY_INCLUDE or
-     * BodyTag.EVAL_BODY_BUFFERED to indicate
-     * that the body of the action should be evaluated or SKIP_BODY to
-     * indicate otherwise.
-     *
+     * This method returns Tag.EVAL_BODY_INCLUDE or BodyTag.EVAL_BODY_BUFFERED to indicate that the body of the action
+     * should be evaluated or SKIP_BODY to indicate otherwise.
      * <p>
-     * When a Tag returns EVAL_BODY_INCLUDE the result of evaluating
-     * the body (if any) is included into the current "out" JspWriter as it
-     * happens and then doEndTag() is invoked.
-     *
+     * When a Tag returns EVAL_BODY_INCLUDE the result of evaluating the body (if any) is included into the current
+     * "out" JspWriter as it happens and then doEndTag() is invoked.
      * <p>
-     * BodyTag.EVAL_BODY_BUFFERED is only valid  if the tag handler
-     * implements BodyTag.
-     *
+     * BodyTag.EVAL_BODY_BUFFERED is only valid if the tag handler implements BodyTag.
      * <p>
-     * The JSP container will resynchronize the values of any AT_BEGIN and
-     * NESTED variables (defined by the associated TagExtraInfo or TLD)
-     * after the invocation of doStartTag(), except for a tag handler
-     * implementing BodyTag whose doStartTag() method returns
-     * BodyTag.EVAL_BODY_BUFFERED.
+     * The JSP container will resynchronize the values of any AT_BEGIN and NESTED variables (defined by the associated
+     * TagExtraInfo or TLD) after the invocation of doStartTag(), except for a tag handler implementing BodyTag whose
+     * doStartTag() method returns BodyTag.EVAL_BODY_BUFFERED.
+     *
+     * @return EVAL_BODY_INCLUDE if the tag wants to process body, SKIP_BODY if it does not want to process it.
      *
-     * @return EVAL_BODY_INCLUDE if the tag wants to process body, SKIP_BODY
-     *     if it does not want to process it.
      * @throws JspException if an error occurred while processing this tag
+     *
      * @see BodyTag
      */
 
@@ -223,39 +193,31 @@ public interface Tag extends JspTag {
 
 
     /**
-     * Process the end tag for this instance.
-     * This method is invoked by the JSP page implementation object
-     * on all Tag handlers.
-     *
+     * Process the end tag for this instance. This method is invoked by the JSP page implementation object on all Tag
+     * handlers.
      * <p>
-     * This method will be called after returning from doStartTag. The
-     * body of the action may or may not have been evaluated, depending on
-     * the return value of doStartTag.
-     *
+     * This method will be called after returning from doStartTag. The body of the action may or may not have been
+     * evaluated, depending on the return value of doStartTag.
      * <p>
-     * If this method returns EVAL_PAGE, the rest of the page continues
-     * to be evaluated.  If this method returns SKIP_PAGE, the rest of
-     * the page is not evaluated, the request is completed, and
-     * the doEndTag() methods of enclosing tags are not invoked.  If this
-     * request was forwarded or included from another page (or Servlet),
-     * only the current page evaluation is stopped.
-     *
+     * If this method returns EVAL_PAGE, the rest of the page continues to be evaluated. If this method returns
+     * SKIP_PAGE, the rest of the page is not evaluated, the request is completed, and the doEndTag() methods of
+     * enclosing tags are not invoked. If this request was forwarded or included from another page (or Servlet), only
+     * the current page evaluation is stopped.
      * <p>
-     * The JSP container will resynchronize the values of any AT_BEGIN and
-     * AT_END variables (defined by the associated TagExtraInfo or TLD)
-     * after the invocation of doEndTag().
+     * The JSP container will resynchronize the values of any AT_BEGIN and AT_END variables (defined by the associated
+     * TagExtraInfo or TLD) after the invocation of doEndTag().
      *
      * @return indication of whether to continue evaluating the JSP page.
+     *
      * @throws JspException if an error occurred while processing this tag
      */
 
     int doEndTag() throws JspException;
 
     /**
-     * Called on a Tag handler to release state.
-     * The page compiler guarantees that JSP page implementation
-     * objects will invoke this method on all tag handlers,
-     * but there may be multiple invocations on doStartTag and doEndTag in between.
+     * Called on a Tag handler to release state. The page compiler guarantees that JSP page implementation objects will
+     * invoke this method on all tag handlers, but there may be multiple invocations on doStartTag and doEndTag in
+     * between.
      */
 
     void release();
diff --git a/java/jakarta/servlet/jsp/tagext/TagAdapter.java b/java/jakarta/servlet/jsp/tagext/TagAdapter.java
index 094aaa4274..30ee660db4 100644
--- a/java/jakarta/servlet/jsp/tagext/TagAdapter.java
+++ b/java/jakarta/servlet/jsp/tagext/TagAdapter.java
@@ -20,15 +20,13 @@ import jakarta.servlet.jsp.JspException;
 import jakarta.servlet.jsp.PageContext;
 
 /**
- * Wraps any SimpleTag and exposes it using a Tag interface. This is used to
- * allow collaboration between classic Tag handlers and SimpleTag handlers.
+ * Wraps any SimpleTag and exposes it using a Tag interface. This is used to allow collaboration between classic Tag
+ * handlers and SimpleTag handlers.
  * <p>
- * Because SimpleTag does not extend Tag, and because Tag.setParent() only
- * accepts a Tag instance, a classic tag handler (one that implements Tag)
- * cannot have a SimpleTag as its parent. To remedy this, a TagAdapter is
- * created to wrap the SimpleTag parent, and the adapter is passed to
- * setParent() instead. A classic Tag Handler can call getAdaptee() to retrieve
- * the encapsulated SimpleTag instance.
+ * Because SimpleTag does not extend Tag, and because Tag.setParent() only accepts a Tag instance, a classic tag handler
+ * (one that implements Tag) cannot have a SimpleTag as its parent. To remedy this, a TagAdapter is created to wrap the
+ * SimpleTag parent, and the adapter is passed to setParent() instead. A classic Tag Handler can call getAdaptee() to
+ * retrieve the encapsulated SimpleTag instance.
  *
  * @since JSP 2.0
  */
@@ -43,11 +41,9 @@ public class TagAdapter implements Tag {
     private boolean parentDetermined;
 
     /**
-     * Creates a new TagAdapter that wraps the given SimpleTag and returns the
-     * parent tag when getParent() is called.
+     * Creates a new TagAdapter that wraps the given SimpleTag and returns the parent tag when getParent() is called.
      *
-     * @param adaptee
-     *            The SimpleTag being adapted as a Tag.
+     * @param adaptee The SimpleTag being adapted as a Tag.
      */
     public TagAdapter(SimpleTag adaptee) {
         if (adaptee == null) {
@@ -60,37 +56,31 @@ public class TagAdapter implements Tag {
     /**
      * Must not be called.
      *
-     * @param pc
-     *            ignored.
-     * @throws UnsupportedOperationException
-     *             Must not be called
+     * @param pc ignored.
+     *
+     * @throws UnsupportedOperationException Must not be called
      */
     @Override
     public void setPageContext(PageContext pc) {
-        throw new UnsupportedOperationException(
-                "Illegal to invoke setPageContext() on TagAdapter wrapper");
+        throw new UnsupportedOperationException("Illegal to invoke setPageContext() on TagAdapter wrapper");
     }
 
     /**
-     * Must not be called. The parent of this tag is always
-     * getAdaptee().getParent().
+     * Must not be called. The parent of this tag is always getAdaptee().getParent().
+     *
+     * @param parentTag ignored.
      *
-     * @param parentTag
-     *            ignored.
-     * @throws UnsupportedOperationException
-     *             Must not be called.
+     * @throws UnsupportedOperationException Must not be called.
      */
     @Override
     public void setParent(Tag parentTag) {
-        throw new UnsupportedOperationException(
-                "Illegal to invoke setParent() on TagAdapter wrapper");
+        throw new UnsupportedOperationException("Illegal to invoke setParent() on TagAdapter wrapper");
     }
 
     /**
-     * Returns the parent of this tag, which is always getAdaptee().getParent().
-     * This will either be the enclosing Tag (if getAdaptee().getParent()
-     * implements Tag), or an adapter to the enclosing Tag (if
-     * getAdaptee().getParent() does not implement Tag).
+     * Returns the parent of this tag, which is always getAdaptee().getParent(). This will either be the enclosing Tag
+     * (if getAdaptee().getParent() implements Tag), or an adapter to the enclosing Tag (if getAdaptee().getParent()
+     * does not implement Tag).
      *
      * @return The parent of the tag being adapted.
      */
@@ -113,9 +103,8 @@ public class TagAdapter implements Tag {
     }
 
     /**
-     * Gets the tag that is being adapted to the Tag interface. This should be
-     * an instance of SimpleTag in JSP 2.0, but room is left for other kinds of
-     * tags in future spec versions.
+     * Gets the tag that is being adapted to the Tag interface. This should be an instance of SimpleTag in JSP 2.0, but
+     * room is left for other kinds of tags in future spec versions.
      *
      * @return the tag that is being adapted
      */
@@ -127,41 +116,35 @@ public class TagAdapter implements Tag {
      * Must not be called.
      *
      * @return always throws UnsupportedOperationException
-     * @throws UnsupportedOperationException
-     *             Must not be called
-     * @throws JspException
-     *             never thrown
+     *
+     * @throws UnsupportedOperationException Must not be called
+     * @throws JspException                  never thrown
      */
     @Override
     public int doStartTag() throws JspException {
-        throw new UnsupportedOperationException(
-                "Illegal to invoke doStartTag() on TagAdapter wrapper");
+        throw new UnsupportedOperationException("Illegal to invoke doStartTag() on TagAdapter wrapper");
     }
 
     /**
      * Must not be called.
      *
      * @return always throws UnsupportedOperationException
-     * @throws UnsupportedOperationException
-     *             Must not be called
-     * @throws JspException
-     *             never thrown
+     *
+     * @throws UnsupportedOperationException Must not be called
+     * @throws JspException                  never thrown
      */
     @Override
     public int doEndTag() throws JspException {
-        throw new UnsupportedOperationException(
-                "Illegal to invoke doEndTag() on TagAdapter wrapper");
+        throw new UnsupportedOperationException("Illegal to invoke doEndTag() on TagAdapter wrapper");
     }
 
     /**
      * Must not be called.
      *
-     * @throws UnsupportedOperationException
-     *             Must not be called
+     * @throws UnsupportedOperationException Must not be called
      */
     @Override
     public void release() {
-        throw new UnsupportedOperationException(
-                "Illegal to invoke release() on TagAdapter wrapper");
+        throw new UnsupportedOperationException("Illegal to invoke release() on TagAdapter wrapper");
     }
 }
diff --git a/java/jakarta/servlet/jsp/tagext/TagAttributeInfo.java b/java/jakarta/servlet/jsp/tagext/TagAttributeInfo.java
index 6943a26b08..92e9df69b8 100644
--- a/java/jakarta/servlet/jsp/tagext/TagAttributeInfo.java
+++ b/java/jakarta/servlet/jsp/tagext/TagAttributeInfo.java
@@ -17,100 +17,72 @@
 package jakarta.servlet.jsp.tagext;
 
 /**
- * Information on the attributes of a Tag, available at translation time. This
- * class is instantiated from the Tag Library Descriptor file (TLD).
- *
+ * Information on the attributes of a Tag, available at translation time. This class is instantiated from the Tag
+ * Library Descriptor file (TLD).
  * <p>
- * Only the information needed to generate code is included here. Other
- * information like SCHEMA for validation belongs elsewhere.
+ * Only the information needed to generate code is included here. Other information like SCHEMA for validation belongs
+ * elsewhere.
  */
 
 public class TagAttributeInfo {
 
     /**
-     * "id" is wired in to be ID. There is no real benefit in having it be
-     * something else IDREFs are not handled any differently.
+     * "id" is wired in to be ID. There is no real benefit in having it be something else IDREFs are not handled any
+     * differently.
      */
     public static final String ID = "id";
 
     /**
-     * Constructor for TagAttributeInfo. This class is to be instantiated only
-     * from the TagLibrary code under request from some JSP code that is parsing
-     * a TLD (Tag Library Descriptor).
+     * Constructor for TagAttributeInfo. This class is to be instantiated only from the TagLibrary code under request
+     * from some JSP code that is parsing a TLD (Tag Library Descriptor).
      *
-     * @param name
-     *            The name of the attribute.
-     * @param required
-     *            If this attribute is required in tag instances.
-     * @param type
-     *            The name of the type of the attribute.
-     * @param reqTime
-     *            Whether this attribute holds a request-time Attribute.
+     * @param name     The name of the attribute.
+     * @param required If this attribute is required in tag instances.
+     * @param type     The name of the type of the attribute.
+     * @param reqTime  Whether this attribute holds a request-time Attribute.
      */
-    public TagAttributeInfo(String name, boolean required, String type,
-            boolean reqTime) {
+    public TagAttributeInfo(String name, boolean required, String type, boolean reqTime) {
         this(name, required, type, reqTime, false);
     }
 
     /**
-     * JSP 2.0 Constructor for TagAttributeInfo. This class is to be
-     * instantiated only from the TagLibrary code under request from some JSP
-     * code that is parsing a TLD (Tag Library Descriptor).
+     * JSP 2.0 Constructor for TagAttributeInfo. This class is to be instantiated only from the TagLibrary code under
+     * request from some JSP code that is parsing a TLD (Tag Library Descriptor).
      *
-     * @param name
-     *            The name of the attribute.
-     * @param required
-     *            If this attribute is required in tag instances.
-     * @param type
-     *            The name of the type of the attribute.
-     * @param reqTime
-     *            Whether this attribute holds a request-time Attribute.
-     * @param fragment
-     *            Whether this attribute is of type JspFragment
+     * @param name     The name of the attribute.
+     * @param required If this attribute is required in tag instances.
+     * @param type     The name of the type of the attribute.
+     * @param reqTime  Whether this attribute holds a request-time Attribute.
+     * @param fragment Whether this attribute is of type JspFragment
      *
      * @since JSP 2.0
      */
-    public TagAttributeInfo(String name, boolean required, String type,
-            boolean reqTime, boolean fragment) {
+    public TagAttributeInfo(String name, boolean required, String type, boolean reqTime, boolean fragment) {
         this(name, required, type, reqTime, fragment, null, false, false, null, null);
     }
 
     /**
-     * JSP 2.1 Constructor for TagAttributeInfo. This class is to be
-     * instantiated only from the TagLibrary code under request from some JSP
-     * code that is parsing a TLD (Tag Library Descriptor).
+     * JSP 2.1 Constructor for TagAttributeInfo. This class is to be instantiated only from the TagLibrary code under
+     * request from some JSP code that is parsing a TLD (Tag Library Descriptor).
      *
-     * @param name
-     *            The name of the attribute.
-     * @param required
-     *            If this attribute is required in tag instances.
-     * @param type
-     *            The name of the type of the attribute.
-     * @param reqTime
-     *            Whether this attribute holds a request-time Attribute.
-     * @param fragment
-     *            Whether this attribute is of type JspFragment
-     * @param description
-     *            Description of this attribute
-     * @param deferredValue
-     *            Does this attribute accept value expressions (written as
-     *            Strings) as attribute values the evaluation of which is
-     *            deferred until calculated by the tag
-     * @param deferredMethod
-     *            Does this attribute accept method expressions (written as
-     *            Strings) as attribute values the evaluation of which is
-     *            deferred until calculated by the tag
-     * @param expectedTypeName
-     *            The expected type when the deferred value is evaluated
-     * @param methodSignature
-     *            The expected method signature if a deferred method
+     * @param name             The name of the attribute.
+     * @param required         If this attribute is required in tag instances.
+     * @param type             The name of the type of the attribute.
+     * @param reqTime          Whether this attribute holds a request-time Attribute.
+     * @param fragment         Whether this attribute is of type JspFragment
+     * @param description      Description of this attribute
+     * @param deferredValue    Does this attribute accept value expressions (written as Strings) as attribute values the
+     *                             evaluation of which is deferred until calculated by the tag
+     * @param deferredMethod   Does this attribute accept method expressions (written as Strings) as attribute values
+     *                             the evaluation of which is deferred until calculated by the tag
+     * @param expectedTypeName The expected type when the deferred value is evaluated
+     * @param methodSignature  The expected method signature if a deferred method
      *
      * @since JSP 2.1
      */
-    public TagAttributeInfo(String name, boolean required, String type,
-            boolean reqTime, boolean fragment, String description,
-            boolean deferredValue, boolean deferredMethod,
-            String expectedTypeName, String methodSignature) {
+    public TagAttributeInfo(String name, boolean required, String type, boolean reqTime, boolean fragment,
+            String description, boolean deferredValue, boolean deferredMethod, String expectedTypeName,
+            String methodSignature) {
         this.name = name;
         this.required = required;
         this.type = type;
@@ -160,11 +132,10 @@ public class TagAttributeInfo {
     }
 
     /**
-     * Convenience static method that goes through an array of TagAttributeInfo
-     * objects and looks for "id".
+     * Convenience static method that goes through an array of TagAttributeInfo objects and looks for "id".
+     *
+     * @param tagAttributeInfos An array of TagAttributeInfo
      *
-     * @param tagAttributeInfos
-     *            An array of TagAttributeInfo
      * @return The TagAttributeInfo reference with name "id"
      */
     public static TagAttributeInfo getIdAttribute(TagAttributeInfo[] tagAttributeInfos) {
@@ -188,8 +159,7 @@ public class TagAttributeInfo {
     }
 
     /**
-     * Returns a String representation of this TagAttributeInfo, suitable for
-     * debugging purposes.
+     * Returns a String representation of this TagAttributeInfo, suitable for debugging purposes.
      *
      * @return a String representation of this TagAttributeInfo
      */
@@ -240,8 +210,7 @@ public class TagAttributeInfo {
     /**
      * Does the attribute expect to be passed a deferred method?
      *
-     * @return {@code true} if a deferred method expression is expected,
-     *         otherwise {@code false}
+     * @return {@code true} if a deferred method expression is expected, otherwise {@code false}
      */
     public boolean isDeferredMethod() {
         return deferredMethod;
@@ -250,8 +219,7 @@ public class TagAttributeInfo {
     /**
      * Does the attribute expect to be passed a deferred value?
      *
-     * @return {@code true} if a deferred value expression is expected,
-     *         otherwise {@code false}
+     * @return {@code true} if a deferred value expression is expected, otherwise {@code false}
      */
     public boolean isDeferredValue() {
         return deferredValue;
@@ -276,11 +244,9 @@ public class TagAttributeInfo {
     }
 
     /**
-     * If this is a deferred method attribute, obtain the expected method
-     * signature.
+     * If this is a deferred method attribute, obtain the expected method signature.
      *
-     * @return The expected method signature or {@code null} if this attribute
-     *         is not a deferred method attribute
+     * @return The expected method signature or {@code null} if this attribute is not a deferred method attribute
      */
     public String getMethodSignature() {
         return methodSignature;
diff --git a/java/jakarta/servlet/jsp/tagext/TagData.java b/java/jakarta/servlet/jsp/tagext/TagData.java
index dbc6b6ad16..30de13b281 100644
--- a/java/jakarta/servlet/jsp/tagext/TagData.java
+++ b/java/jakarta/servlet/jsp/tagext/TagData.java
@@ -20,19 +20,16 @@ import java.util.Hashtable;
 
 /**
  * The (translation-time only) attribute/value information for a tag instance.
- *
  * <p>
- * TagData is only used as an argument to the isValid, validate, and
- * getVariableInfo methods of TagExtraInfo, which are invoked at
- * translation time.
+ * TagData is only used as an argument to the isValid, validate, and getVariableInfo methods of TagExtraInfo, which are
+ * invoked at translation time.
  */
 
 public class TagData implements Cloneable {
 
     /**
-     * Distinguished value for an attribute to indicate its value
-     * is a request-time expression (which is not yet available because
-     * TagData instances are used at translation-time).
+     * Distinguished value for an attribute to indicate its value is a request-time expression (which is not yet
+     * available because TagData instances are used at translation-time).
      */
 
     public static final Object REQUEST_TIME_VALUE = new Object();
@@ -40,18 +37,17 @@ public class TagData implements Cloneable {
 
     /**
      * Constructor for TagData.
-     *
      * <p>
      * A typical constructor may be
+     *
      * <pre>
-     * static final Object[][] att = {{"connection", "conn0"}, {"id", "query0"}};
+     * static final Object[][] att = { { "connection", "conn0" }, { "id", "query0" } };
      * static final TagData td = new TagData(att);
      * </pre>
      *
-     * All values must be Strings except for those holding the
-     * distinguished object REQUEST_TIME_VALUE.
+     * All values must be Strings except for those holding the distinguished object REQUEST_TIME_VALUE.
      *
-     * @param atts the static attribute and values.  May be null.
+     * @param atts the static attribute and values. May be null.
      */
     public TagData(Object[] atts[]) {
         if (atts == null) {
@@ -68,22 +64,18 @@ public class TagData implements Cloneable {
     }
 
     /**
-     * Constructor for a TagData.
-     *
-     * If you already have the attributes in a hashtable, use this
-     * constructor.
+     * Constructor for a TagData. If you already have the attributes in a hashtable, use this constructor.
      *
      * @param attrs A hashtable to get the values from.
      */
-    public TagData(Hashtable<String, Object> attrs) {
+    public TagData(Hashtable<String,Object> attrs) {
         this.attributes = attrs;
     }
 
     /**
      * The value of the tag's id attribute.
      *
-     * @return the value of the tag's id attribute, or null if no such
-     *     attribute was specified.
+     * @return the value of the tag's id attribute, or null if no such attribute was specified.
      */
 
     public String getId() {
@@ -91,18 +83,15 @@ public class TagData implements Cloneable {
     }
 
     /**
-     * The value of the attribute.
-     * If a static value is specified for an attribute that accepts a
-     * request-time attribute expression then that static value is returned,
-     * even if the value is provided in the body of a &lt;jsp:attribute&gt;
-     * action. The distinguished object REQUEST_TIME_VALUE is only returned if
-     * the value is specified as a request-time attribute expression
-     * or via the &lt;jsp:attribute&gt; action with a body that contains
-     * dynamic content (scriptlets, scripting expressions, EL expressions,
-     * standard actions, or custom actions).  Returns null if the attribute
-     * is not set.
+     * The value of the attribute. If a static value is specified for an attribute that accepts a request-time attribute
+     * expression then that static value is returned, even if the value is provided in the body of a
+     * &lt;jsp:attribute&gt; action. The distinguished object REQUEST_TIME_VALUE is only returned if the value is
+     * specified as a request-time attribute expression or via the &lt;jsp:attribute&gt; action with a body that
+     * contains dynamic content (scriptlets, scripting expressions, EL expressions, standard actions, or custom
+     * actions). Returns null if the attribute is not set.
      *
      * @param attName the name of the attribute
+     *
      * @return the attribute's value
      */
 
@@ -114,10 +103,9 @@ public class TagData implements Cloneable {
      * Set the value of an attribute.
      *
      * @param attName the name of the attribute
-     * @param value the value.
+     * @param value   the value.
      */
-    public void setAttribute(String attName,
-                             Object value) {
+    public void setAttribute(String attName, Object value) {
         attributes.put(attName, value);
     }
 
@@ -125,7 +113,9 @@ public class TagData implements Cloneable {
      * Get the value for a given attribute.
      *
      * @param attName the name of the attribute
+     *
      * @return the attribute value string
+     *
      * @throws ClassCastException if attribute value is not a String
      */
 
@@ -148,5 +138,5 @@ public class TagData implements Cloneable {
 
     // private data
 
-    private final Hashtable<String, Object> attributes;        // the tagname/value map
+    private final Hashtable<String,Object> attributes; // the tagname/value map
 }
diff --git a/java/jakarta/servlet/jsp/tagext/TagExtraInfo.java b/java/jakarta/servlet/jsp/tagext/TagExtraInfo.java
index 28633b4309..7a6b60a893 100644
--- a/java/jakarta/servlet/jsp/tagext/TagExtraInfo.java
+++ b/java/jakarta/servlet/jsp/tagext/TagExtraInfo.java
@@ -17,70 +17,60 @@
 package jakarta.servlet.jsp.tagext;
 
 /**
- * Optional class provided by the tag library author to describe additional
- * translation-time information not described in the TLD.
- * The TagExtraInfo class is mentioned in the Tag Library Descriptor file (TLD).
- *
+ * Optional class provided by the tag library author to describe additional translation-time information not described
+ * in the TLD. The TagExtraInfo class is mentioned in the Tag Library Descriptor file (TLD).
  * <p>
  * This class can be used:
  * <ul>
- * <li> to indicate that the tag defines scripting variables
- * <li> to perform translation-time validation of the tag attributes.
+ * <li>to indicate that the tag defines scripting variables
+ * <li>to perform translation-time validation of the tag attributes.
  * </ul>
- *
  * <p>
- * It is the responsibility of the JSP translator that the initial value
- * to be returned by calls to getTagInfo() corresponds to a TagInfo
- * object for the tag being translated. If an explicit call to
- * setTagInfo() is done, then the object passed will be returned in
- * subsequent calls to getTagInfo().
- *
+ * It is the responsibility of the JSP translator that the initial value to be returned by calls to getTagInfo()
+ * corresponds to a TagInfo object for the tag being translated. If an explicit call to setTagInfo() is done, then the
+ * object passed will be returned in subsequent calls to getTagInfo().
  * <p>
- * The only way to affect the value returned by getTagInfo()
- * is through a setTagInfo() call, and thus, TagExtraInfo.setTagInfo() is
- * to be called by the JSP translator, with a TagInfo object that
- * corresponds to the tag being translated. The call should happen before
- * any invocation on validate() and before any invocation on
+ * The only way to affect the value returned by getTagInfo() is through a setTagInfo() call, and thus,
+ * TagExtraInfo.setTagInfo() is to be called by the JSP translator, with a TagInfo object that corresponds to the tag
+ * being translated. The call should happen before any invocation on validate() and before any invocation on
  * getVariableInfo().
- *
  * <p>
- * <b>NOTE:</b> It is a (translation time) error for a tag definition
- * in a TLD with one or more variable subelements to have an associated
- * TagExtraInfo implementation that returns a VariableInfo array with
- * one or more elements from a call to getVariableInfo().
+ * <b>NOTE:</b> It is a (translation time) error for a tag definition in a TLD with one or more variable subelements to
+ * have an associated TagExtraInfo implementation that returns a VariableInfo array with one or more elements from a
+ * call to getVariableInfo().
  */
 
 public abstract class TagExtraInfo {
 
     /**
-     * Sole constructor. (For invocation by subclass constructors,
-     * typically implicit.)
+     * Sole constructor. (For invocation by subclass constructors, typically implicit.)
      */
     public TagExtraInfo() {
         // NOOP by default
     }
 
     /**
-     * information on scripting variables defined by the tag associated with
-     * this TagExtraInfo instance.
-     * Request-time attributes are indicated as such in the TagData parameter.
+     * information on scripting variables defined by the tag associated with this TagExtraInfo instance. Request-time
+     * attributes are indicated as such in the TagData parameter.
      *
      * @param data The TagData instance.
-     * @return An array of VariableInfo data, or null or a zero length array
-     *         if no scripting variables are to be defined.
+     *
+     * @return An array of VariableInfo data, or null or a zero length array if no scripting variables are to be
+     *             defined.
      */
     public VariableInfo[] getVariableInfo(TagData data) {
         return ZERO_VARIABLE_INFO;
     }
 
     /**
-     * Translation-time validation of the attributes.
-     * Request-time attributes are indicated as such in the TagData parameter.
-     * Note that the preferred way to do validation is with the validate()
-     * method, since it can return more detailed information.
+     * Translation-time validation of the attributes. Request-time attributes are indicated as such in the TagData
+     * parameter. Note that the preferred way to do validation is with the validate() method, since it can return more
+     * detailed information.
      *
      * @param data The TagData instance.
+     *
      * @return Whether this tag instance is valid.
+     *
      * @see TagExtraInfo#validate
      */
 
@@ -89,28 +79,26 @@ public abstract class TagExtraInfo {
     }
 
     /**
-     * Translation-time validation of the attributes.
-     * Request-time attributes are indicated as such in the TagData parameter.
-     * Because of the higher quality validation messages possible,
-     * this is the preferred way to do validation (although isValid()
-     * still works).
-     *
-     * <p>JSP 2.0 and higher containers call validate() instead of isValid().
-     * The default implementation of this method is to call isValid().  If
-     * isValid() returns false, a generic ValidationMessage[] is returned
-     * indicating isValid() returned false.</p>
+     * Translation-time validation of the attributes. Request-time attributes are indicated as such in the TagData
+     * parameter. Because of the higher quality validation messages possible, this is the preferred way to do validation
+     * (although isValid() still works).
+     * <p>
+     * JSP 2.0 and higher containers call validate() instead of isValid(). The default implementation of this method is
+     * to call isValid(). If isValid() returns false, a generic ValidationMessage[] is returned indicating isValid()
+     * returned false.
+     * </p>
      *
      * @param data The TagData instance.
-     * @return A null object, or zero length array if no errors, an
-     *     array of ValidationMessages otherwise.
+     *
+     * @return A null object, or zero length array if no errors, an array of ValidationMessages otherwise.
+     *
      * @since JSP 2.0
      */
-    public ValidationMessage[] validate( TagData data ) {
+    public ValidationMessage[] validate(TagData data) {
         ValidationMessage[] result = null;
 
-        if( !isValid( data ) ) {
-            result = new ValidationMessage[] {
-                new ValidationMessage( data.getId(), "isValid() == false" ) };
+        if (!isValid(data)) {
+            result = new ValidationMessage[] { new ValidationMessage(data.getId(), "isValid() == false") };
         }
 
         return result;
@@ -135,9 +123,9 @@ public abstract class TagExtraInfo {
     }
 
     // private data
-    private  TagInfo tagInfo;
+    private TagInfo tagInfo;
 
     // zero length VariableInfo array
-    private static final VariableInfo[] ZERO_VARIABLE_INFO = { };
+    private static final VariableInfo[] ZERO_VARIABLE_INFO = {};
 }
 
diff --git a/java/jakarta/servlet/jsp/tagext/TagFileInfo.java b/java/jakarta/servlet/jsp/tagext/TagFileInfo.java
index a2646a0aa7..bb08483de7 100644
--- a/java/jakarta/servlet/jsp/tagext/TagFileInfo.java
+++ b/java/jakarta/servlet/jsp/tagext/TagFileInfo.java
@@ -17,32 +17,24 @@
 package jakarta.servlet.jsp.tagext;
 
 /**
- * Tag information for a tag file in a Tag Library;
- * This class is instantiated from the Tag Library Descriptor file (TLD)
- * and is available only at translation time.
+ * Tag information for a tag file in a Tag Library; This class is instantiated from the Tag Library Descriptor file
+ * (TLD) and is available only at translation time.
  *
  * @since JSP 2.0
  */
 public class TagFileInfo {
 
     /**
-     * Constructor for TagFileInfo from data in the JSP 2.0 format for TLD.
-     * This class is to be instantiated only from the TagLibrary code
-     * under request from some JSP code that is parsing a
-     * TLD (Tag Library Descriptor).
+     * Constructor for TagFileInfo from data in the JSP 2.0 format for TLD. This class is to be instantiated only from
+     * the TagLibrary code under request from some JSP code that is parsing a TLD (Tag Library Descriptor). Note that,
+     * since TagLibraryInfo reflects both TLD information and taglib directive information, a TagFileInfo instance is
+     * dependent on a taglib directive. This is probably a design error, which may be fixed in the future.
      *
-     * Note that, since TagLibraryInfo reflects both TLD information
-     * and taglib directive information, a TagFileInfo instance is
-     * dependent on a taglib directive.  This is probably a
-     * design error, which may be fixed in the future.
-     *
-     * @param name The unique action name of this tag
-     * @param path Where to find the .tag file implementing this
-     *     action, relative to the location of the TLD file.
-     * @param tagInfo The detailed information about this tag, as parsed
-     *     from the directives in the tag file.
+     * @param name    The unique action name of this tag
+     * @param path    Where to find the .tag file implementing this action, relative to the location of the TLD file.
+     * @param tagInfo The detailed information about this tag, as parsed from the directives in the tag file.
      */
-    public TagFileInfo( String name, String path, TagInfo tagInfo ) {
+    public TagFileInfo(String name, String path, TagInfo tagInfo) {
         this.name = name;
         this.path = path;
         this.tagInfo = tagInfo;
@@ -60,16 +52,15 @@ public class TagFileInfo {
     /**
      * Where to find the .tag file implementing this action.
      *
-     * @return The path of the tag file, relative to the TLD, or "." if
-     *     the tag file was defined in an implicit tag file.
+     * @return The path of the tag file, relative to the TLD, or "." if the tag file was defined in an implicit tag
+     *             file.
      */
     public String getPath() {
         return path;
     }
 
     /**
-     * Returns information about this tag, parsed from the directives
-     * in the tag file.
+     * Returns information about this tag, parsed from the directives in the tag file.
      *
      * @return a TagInfo object containing information about this tag
      */
diff --git a/java/jakarta/servlet/jsp/tagext/TagInfo.java b/java/jakarta/servlet/jsp/tagext/TagInfo.java
index ec61dbb1ab..40e978d58a 100644
--- a/java/jakarta/servlet/jsp/tagext/TagInfo.java
+++ b/java/jakarta/servlet/jsp/tagext/TagInfo.java
@@ -17,9 +17,8 @@
 package jakarta.servlet.jsp.tagext;
 
 /**
- * Tag information for a tag in a Tag Library;
- * This class is instantiated from the Tag Library Descriptor file (TLD)
- * and is available only at translation time.
+ * Tag information for a tag in a Tag Library; This class is instantiated from the Tag Library Descriptor file (TLD) and
+ * is available only at translation time.
  */
 
 public class TagInfo {
@@ -48,39 +47,27 @@ public class TagInfo {
     public static final String BODY_CONTENT_SCRIPTLESS = "scriptless";
 
     /**
-     * Constructor for TagInfo from data in the JSP 1.1 format for TLD.
-     * This class is to be instantiated only from the TagLibrary code
-     * under request from some JSP code that is parsing a
-     * TLD (Tag Library Descriptor).
-     *
-     * Note that, since TagLibraryInfo reflects both TLD information
-     * and taglib directive information, a TagInfo instance is
-     * dependent on a taglib directive.  This is probably a
-     * design error, which may be fixed in the future.
-     *
-     * @param tagName The name of this tag
-     * @param tagClassName The name of the tag handler class
-     * @param bodycontent Information on the body content of these tags
-     * @param infoString The (optional) string information for this tag
-     * @param taglib The instance of the tag library that contains us.
-     * @param tagExtraInfo The instance providing extra Tag info.  May be null
-     * @param attributeInfo An array of AttributeInfo data from descriptor.
-     * May be null;
+     * Constructor for TagInfo from data in the JSP 1.1 format for TLD. This class is to be instantiated only from the
+     * TagLibrary code under request from some JSP code that is parsing a TLD (Tag Library Descriptor). Note that, since
+     * TagLibraryInfo reflects both TLD information and taglib directive information, a TagInfo instance is dependent on
+     * a taglib directive. This is probably a design error, which may be fixed in the future.
      *
+     * @param tagName       The name of this tag
+     * @param tagClassName  The name of the tag handler class
+     * @param bodycontent   Information on the body content of these tags
+     * @param infoString    The (optional) string information for this tag
+     * @param taglib        The instance of the tag library that contains us.
+     * @param tagExtraInfo  The instance providing extra Tag info. May be null
+     * @param attributeInfo An array of AttributeInfo data from descriptor. May be null;
      */
-    public TagInfo(String tagName,
-            String tagClassName,
-            String bodycontent,
-            String infoString,
-            TagLibraryInfo taglib,
-            TagExtraInfo tagExtraInfo,
-            TagAttributeInfo[] attributeInfo) {
-        this.tagName       = tagName;
-        this.tagClassName  = tagClassName;
-        this.bodyContent   = bodycontent;
-        this.infoString    = infoString;
-        this.tagLibrary    = taglib;
-        this.tagExtraInfo  = tagExtraInfo;
+    public TagInfo(String tagName, String tagClassName, String bodycontent, String infoString, TagLibraryInfo taglib,
+            TagExtraInfo tagExtraInfo, TagAttributeInfo[] attributeInfo) {
+        this.tagName = tagName;
+        this.tagClassName = tagClassName;
+        this.bodyContent = bodycontent;
+        this.infoString = infoString;
+        this.tagLibrary = taglib;
+        this.tagExtraInfo = tagExtraInfo;
         this.attributeInfo = attributeInfo;
 
         // Use defaults for unspecified values
@@ -96,46 +83,32 @@ public class TagInfo {
     }
 
     /**
-     * Constructor for TagInfo from data in the JSP 1.2 format for TLD.
-     * This class is to be instantiated only from the TagLibrary code
-     * under request from some JSP code that is parsing a
-     * TLD (Tag Library Descriptor).
-     *
-     * Note that, since TagLibraryInfo reflects both TLD information
-     * and taglib directive information, a TagInfo instance is
-     * dependent on a taglib directive.  This is probably a
-     * design error, which may be fixed in the future.
+     * Constructor for TagInfo from data in the JSP 1.2 format for TLD. This class is to be instantiated only from the
+     * TagLibrary code under request from some JSP code that is parsing a TLD (Tag Library Descriptor). Note that, since
+     * TagLibraryInfo reflects both TLD information and taglib directive information, a TagInfo instance is dependent on
+     * a taglib directive. This is probably a design error, which may be fixed in the future.
      *
-     * @param tagName The name of this tag
-     * @param tagClassName The name of the tag handler class
-     * @param bodycontent Information on the body content of these tags
-     * @param infoString The (optional) string information for this tag
-     * @param taglib The instance of the tag library that contains us.
-     * @param tagExtraInfo The instance providing extra Tag info.  May be null
-     * @param attributeInfo An array of AttributeInfo data from descriptor.
-     * May be null;
-     * @param displayName A short name to be displayed by tools
-     * @param smallIcon Path to a small icon to be displayed by tools
-     * @param largeIcon Path to a large icon to be displayed by tools
-     * @param tvi An array of a TagVariableInfo (or null)
+     * @param tagName       The name of this tag
+     * @param tagClassName  The name of the tag handler class
+     * @param bodycontent   Information on the body content of these tags
+     * @param infoString    The (optional) string information for this tag
+     * @param taglib        The instance of the tag library that contains us.
+     * @param tagExtraInfo  The instance providing extra Tag info. May be null
+     * @param attributeInfo An array of AttributeInfo data from descriptor. May be null;
+     * @param displayName   A short name to be displayed by tools
+     * @param smallIcon     Path to a small icon to be displayed by tools
+     * @param largeIcon     Path to a large icon to be displayed by tools
+     * @param tvi           An array of a TagVariableInfo (or null)
      */
-    public TagInfo(String tagName,
-            String tagClassName,
-            String bodycontent,
-            String infoString,
-            TagLibraryInfo taglib,
-            TagExtraInfo tagExtraInfo,
-            TagAttributeInfo[] attributeInfo,
-            String displayName,
-            String smallIcon,
-            String largeIcon,
-            TagVariableInfo[] tvi) {
-        this.tagName       = tagName;
-        this.tagClassName  = tagClassName;
-        this.bodyContent   = bodycontent;
-        this.infoString    = infoString;
-        this.tagLibrary    = taglib;
-        this.tagExtraInfo  = tagExtraInfo;
+    public TagInfo(String tagName, String tagClassName, String bodycontent, String infoString, TagLibraryInfo taglib,
+            TagExtraInfo tagExtraInfo, TagAttributeInfo[] attributeInfo, String displayName, String smallIcon,
+            String largeIcon, TagVariableInfo[] tvi) {
+        this.tagName = tagName;
+        this.tagClassName = tagClassName;
+        this.bodyContent = bodycontent;
+        this.infoString = infoString;
+        this.tagLibrary = taglib;
+        this.tagExtraInfo = tagExtraInfo;
         this.attributeInfo = attributeInfo;
         this.displayName = displayName;
         this.smallIcon = smallIcon;
@@ -151,50 +124,35 @@ public class TagInfo {
     }
 
     /**
-     * Constructor for TagInfo from data in the JSP 2.0 format for TLD.
-     * This class is to be instantiated only from the TagLibrary code
-     * under request from some JSP code that is parsing a
-     * TLD (Tag Library Descriptor).
+     * Constructor for TagInfo from data in the JSP 2.0 format for TLD. This class is to be instantiated only from the
+     * TagLibrary code under request from some JSP code that is parsing a TLD (Tag Library Descriptor). Note that, since
+     * TagLibraryInfo reflects both TLD information and taglib directive information, a TagInfo instance is dependent on
+     * a taglib directive. This is probably a design error, which may be fixed in the future.
      *
-     * Note that, since TagLibraryInfo reflects both TLD information
-     * and taglib directive information, a TagInfo instance is
-     * dependent on a taglib directive.  This is probably a
-     * design error, which may be fixed in the future.
-     *
-     * @param tagName The name of this tag
-     * @param tagClassName The name of the tag handler class
-     * @param bodycontent Information on the body content of these tags
-     * @param infoString The (optional) string information for this tag
-     * @param taglib The instance of the tag library that contains us.
-     * @param tagExtraInfo The instance providing extra Tag info.  May be null
-     * @param attributeInfo An array of AttributeInfo data from descriptor.
-     * May be null;
-     * @param displayName A short name to be displayed by tools
-     * @param smallIcon Path to a small icon to be displayed by tools
-     * @param largeIcon Path to a large icon to be displayed by tools
-     * @param tvi An array of a TagVariableInfo (or null)
+     * @param tagName           The name of this tag
+     * @param tagClassName      The name of the tag handler class
+     * @param bodycontent       Information on the body content of these tags
+     * @param infoString        The (optional) string information for this tag
+     * @param taglib            The instance of the tag library that contains us.
+     * @param tagExtraInfo      The instance providing extra Tag info. May be null
+     * @param attributeInfo     An array of AttributeInfo data from descriptor. May be null;
+     * @param displayName       A short name to be displayed by tools
+     * @param smallIcon         Path to a small icon to be displayed by tools
+     * @param largeIcon         Path to a large icon to be displayed by tools
+     * @param tvi               An array of a TagVariableInfo (or null)
      * @param dynamicAttributes True if supports dynamic attributes
      *
      * @since JSP 2.0
      */
-    public TagInfo(String tagName,
-            String tagClassName,
-            String bodycontent,
-            String infoString,
-            TagLibraryInfo taglib,
-            TagExtraInfo tagExtraInfo,
-            TagAttributeInfo[] attributeInfo,
-            String displayName,
-            String smallIcon,
-            String largeIcon,
-            TagVariableInfo[] tvi,
-            boolean dynamicAttributes) {
-        this.tagName       = tagName;
-        this.tagClassName  = tagClassName;
-        this.bodyContent   = bodycontent;
-        this.infoString    = infoString;
-        this.tagLibrary    = taglib;
-        this.tagExtraInfo  = tagExtraInfo;
+    public TagInfo(String tagName, String tagClassName, String bodycontent, String infoString, TagLibraryInfo taglib,
+            TagExtraInfo tagExtraInfo, TagAttributeInfo[] attributeInfo, String displayName, String smallIcon,
+            String largeIcon, TagVariableInfo[] tvi, boolean dynamicAttributes) {
+        this.tagName = tagName;
+        this.tagClassName = tagClassName;
+        this.bodyContent = bodycontent;
+        this.infoString = infoString;
+        this.tagLibrary = taglib;
+        this.tagExtraInfo = tagExtraInfo;
         this.attributeInfo = attributeInfo;
         this.displayName = displayName;
         this.smallIcon = smallIcon;
@@ -217,40 +175,38 @@ public class TagInfo {
     }
 
     /**
-     * Attribute information (in the TLD) on this tag.
-     * The return is an array describing the attributes of this tag, as
+     * Attribute information (in the TLD) on this tag. The return is an array describing the attributes of this tag, as
      * indicated in the TLD.
      *
-     * @return The array of TagAttributeInfo for this tag, or a
-     *         zero-length array if the tag has no attributes.
+     * @return The array of TagAttributeInfo for this tag, or a zero-length array if the tag has no attributes.
      */
     public TagAttributeInfo[] getAttributes() {
         return attributeInfo;
     }
 
     /**
-     * Information on the scripting objects created by this tag at runtime.
-     * This is a convenience method on the associated TagExtraInfo class.
+     * Information on the scripting objects created by this tag at runtime. This is a convenience method on the
+     * associated TagExtraInfo class.
      *
      * @param data TagData describing this action.
-     * @return if a TagExtraInfo object is associated with this TagInfo, the
-     *     result of getTagExtraInfo().getVariableInfo( data ), otherwise
-     *     null.
+     *
+     * @return if a TagExtraInfo object is associated with this TagInfo, the result of
+     *             getTagExtraInfo().getVariableInfo( data ), otherwise null.
      */
     public VariableInfo[] getVariableInfo(TagData data) {
         VariableInfo[] result = null;
         TagExtraInfo tei = getTagExtraInfo();
         if (tei != null) {
-            result = tei.getVariableInfo( data );
+            result = tei.getVariableInfo(data);
         }
         return result;
     }
 
     /**
-     * Translation-time validation of the attributes.
-     * This is a convenience method on the associated TagExtraInfo class.
+     * Translation-time validation of the attributes. This is a convenience method on the associated TagExtraInfo class.
      *
      * @param data The translation-time TagData instance.
+     *
      * @return Whether the data is valid.
      */
     public boolean isValid(TagData data) {
@@ -262,20 +218,20 @@ public class TagInfo {
     }
 
     /**
-     * Translation-time validation of the attributes.
-     * This is a convenience method on the associated TagExtraInfo class.
+     * Translation-time validation of the attributes. This is a convenience method on the associated TagExtraInfo class.
      *
      * @param data The translation-time TagData instance.
-     * @return A null object, or zero length array if no errors, an
-     *     array of ValidationMessages otherwise.
+     *
+     * @return A null object, or zero length array if no errors, an array of ValidationMessages otherwise.
+     *
      * @since JSP 2.0
      */
-    public ValidationMessage[] validate( TagData data ) {
+    public ValidationMessage[] validate(TagData data) {
         TagExtraInfo tei = getTagExtraInfo();
-        if( tei == null ) {
+        if (tei == null) {
             return null;
         }
-        return tei.validate( data );
+        return tei.validate(data);
     }
 
     /**
@@ -310,9 +266,8 @@ public class TagInfo {
 
 
     /**
-     * The bodycontent information for this tag.
-     * If the bodycontent is not defined for this
-     * tag, the default of JSP will be returned.
+     * The bodycontent information for this tag. If the bodycontent is not defined for this tag, the default of JSP will
+     * be returned.
      *
      * @return the body content string.
      */
@@ -325,8 +280,7 @@ public class TagInfo {
     /**
      * The information string for the tag.
      *
-     * @return the info string, or null if
-     *         not defined
+     * @return the info string, or null if not defined
      */
 
     public String getInfoString() {
@@ -335,16 +289,10 @@ public class TagInfo {
 
 
     /**
-     * Set the TagLibraryInfo property.
-     *
-     * Note that a TagLibraryInfo element is dependent
-     * not just on the TLD information but also on the
-     * specific taglib instance used.  This means that
-     * a fair amount of work needs to be done to construct
-     * and initialize TagLib objects.
-     *
-     * If used carefully, this setter can be used to avoid having to
-     * create new TagInfo elements for each taglib directive.
+     * Set the TagLibraryInfo property. Note that a TagLibraryInfo element is dependent not just on the TLD information
+     * but also on the specific taglib instance used. This means that a fair amount of work needs to be done to
+     * construct and initialize TagLib objects. If used carefully, this setter can be used to avoid having to create new
+     * TagInfo elements for each taglib directive.
      *
      * @param tl the TagLibraryInfo to assign
      */
@@ -370,8 +318,7 @@ public class TagInfo {
     /**
      * Get the displayName.
      *
-     * @return A short name to be displayed by tools,
-     *         or null if not defined
+     * @return A short name to be displayed by tools, or null if not defined
      */
 
     public String getDisplayName() {
@@ -381,8 +328,7 @@ public class TagInfo {
     /**
      * Get the path to the small icon.
      *
-     * @return Path to a small icon to be displayed by tools,
-     *         or null if not defined
+     * @return Path to a small icon to be displayed by tools, or null if not defined
      */
 
     public String getSmallIcon() {
@@ -392,8 +338,7 @@ public class TagInfo {
     /**
      * Get the path to the large icon.
      *
-     * @return Path to a large icon to be displayed by tools,
-     *         or null if not defined
+     * @return Path to a large icon to be displayed by tools, or null if not defined
      */
 
     public String getLargeIcon() {
@@ -403,9 +348,8 @@ public class TagInfo {
     /**
      * Get TagVariableInfo objects associated with this TagInfo.
      *
-     * @return Array of TagVariableInfo objects corresponding to
-     *         variables declared by this tag, or a zero length
-     *         array if no variables have been declared
+     * @return Array of TagVariableInfo objects corresponding to variables declared by this tag, or a zero length array
+     *             if no variables have been declared
      */
 
     public TagVariableInfo[] getTagVariableInfos() {
@@ -419,6 +363,7 @@ public class TagInfo {
      * Get dynamicAttributes associated with this TagInfo.
      *
      * @return True if tag handler supports dynamic attributes
+     *
      * @since JSP 2.0
      */
     public boolean hasDynamicAttributes() {
@@ -428,21 +373,21 @@ public class TagInfo {
     /*
      * private fields for 1.1 info
      */
-    private final String             tagName; // the name of the tag
-    private final String             tagClassName;
-    private final String             bodyContent;
-    private final String             infoString;
-    private TagLibraryInfo           tagLibrary;
-    private TagExtraInfo             tagExtraInfo; // instance of TagExtraInfo
+    private final String tagName; // the name of the tag
+    private final String tagClassName;
+    private final String bodyContent;
+    private final String infoString;
+    private TagLibraryInfo tagLibrary;
+    private TagExtraInfo tagExtraInfo; // instance of TagExtraInfo
     private final TagAttributeInfo[] attributeInfo;
 
     /*
      * private fields for 1.2 info
      */
-    private final String             displayName;
-    private final String             smallIcon;
-    private final String             largeIcon;
-    private final TagVariableInfo[]  tagVariableInfo;
+    private final String displayName;
+    private final String smallIcon;
+    private final String largeIcon;
+    private final TagVariableInfo[] tagVariableInfo;
 
     /*
      * Additional private fields for 2.0 info
diff --git a/java/jakarta/servlet/jsp/tagext/TagLibraryInfo.java b/java/jakarta/servlet/jsp/tagext/TagLibraryInfo.java
index a52760edfa..354ce8fe2e 100644
--- a/java/jakarta/servlet/jsp/tagext/TagLibraryInfo.java
+++ b/java/jakarta/servlet/jsp/tagext/TagLibraryInfo.java
@@ -18,20 +18,16 @@ package jakarta.servlet.jsp.tagext;
 
 
 /**
- * Translation-time information associated with a taglib directive, and its
- * underlying TLD file. Most of the information is directly from the TLD, except
- * for the prefix and the uri values used in the taglib directive
+ * Translation-time information associated with a taglib directive, and its underlying TLD file. Most of the information
+ * is directly from the TLD, except for the prefix and the uri values used in the taglib directive
  */
 public abstract class TagLibraryInfo {
 
     /**
-     * Constructor. This will invoke the constructors for TagInfo, and
-     * TagAttributeInfo after parsing the TLD file.
+     * Constructor. This will invoke the constructors for TagInfo, and TagAttributeInfo after parsing the TLD file.
      *
-     * @param prefix
-     *            the prefix actually used by the taglib directive
-     * @param uri
-     *            the URI actually used by the taglib directive
+     * @param prefix the prefix actually used by the taglib directive
+     * @param uri    the URI actually used by the taglib directive
      */
     protected TagLibraryInfo(String prefix, String uri) {
         this.prefix = prefix;
@@ -41,8 +37,7 @@ public abstract class TagLibraryInfo {
     // ==== methods accessing taglib information =======
 
     /**
-     * The value of the uri attribute from the taglib directive for this
-     * library.
+     * The value of the uri attribute from the taglib directive for this library.
      *
      * @return the value of the uri attribute
      */
@@ -62,9 +57,8 @@ public abstract class TagLibraryInfo {
     // ==== methods using the TLD data =======
 
     /**
-     * The preferred short name (prefix) as indicated in the TLD. This may be
-     * used by authoring tools as the preferred prefix to use when creating an
-     * taglib directive for this library.
+     * The preferred short name (prefix) as indicated in the TLD. This may be used by authoring tools as the preferred
+     * prefix to use when creating an taglib directive for this library.
      *
      * @return the preferred short name for the library
      */
@@ -73,9 +67,8 @@ public abstract class TagLibraryInfo {
     }
 
     /**
-     * The "reliable" URN indicated in the TLD (the uri element). This may be
-     * used by authoring tools as a global identifier to use when creating a
-     * taglib directive for this library.
+     * The "reliable" URN indicated in the TLD (the uri element). This may be used by authoring tools as a global
+     * identifier to use when creating a taglib directive for this library.
      *
      * @return a reliable URN to a TLD like this
      */
@@ -96,6 +89,7 @@ public abstract class TagLibraryInfo {
      * A string describing the required version of the JSP container.
      *
      * @return the (minimal) required version of the JSP container.
+     *
      * @see jakarta.servlet.jsp.JspEngineInfo
      */
     public String getRequiredVersion() {
@@ -105,9 +99,8 @@ public abstract class TagLibraryInfo {
     /**
      * An array describing the tags that are defined in this tag library.
      *
-     * @return the TagInfo objects corresponding to the tags defined by this tag
-     *         library, or a zero length array if this tag library defines no
-     *         tags
+     * @return the TagInfo objects corresponding to the tags defined by this tag library, or a zero length array if this
+     *             tag library defines no tags
      */
     public TagInfo[] getTags() {
         return tags;
@@ -116,9 +109,9 @@ public abstract class TagLibraryInfo {
     /**
      * An array describing the tag files that are defined in this tag library.
      *
-     * @return the TagFileInfo objects corresponding to the tag files defined by
-     *         this tag library, or a zero length array if this tag library
-     *         defines no tags files
+     * @return the TagFileInfo objects corresponding to the tag files defined by this tag library, or a zero length
+     *             array if this tag library defines no tags files
+     *
      * @since JSP 2.0
      */
     public TagFileInfo[] getTagFiles() {
@@ -126,13 +119,11 @@ public abstract class TagLibraryInfo {
     }
 
     /**
-     * Get the TagInfo for a given tag name, looking through all the tags in
-     * this tag library.
+     * Get the TagInfo for a given tag name, looking through all the tags in this tag library.
+     *
+     * @param shortname The short name (no prefix) of the tag
      *
-     * @param shortname
-     *            The short name (no prefix) of the tag
-     * @return the TagInfo for the tag with the specified short name, or null if
-     *         no such tag is found
+     * @return the TagInfo for the tag with the specified short name, or null if no such tag is found
      */
     public TagInfo getTag(String shortname) {
         TagInfo tags[] = getTags();
@@ -150,13 +141,12 @@ public abstract class TagLibraryInfo {
     }
 
     /**
-     * Get the TagFileInfo for a given tag name, looking through all the tag
-     * files in this tag library.
+     * Get the TagFileInfo for a given tag name, looking through all the tag files in this tag library.
+     *
+     * @param shortname The short name (no prefix) of the tag
+     *
+     * @return the TagFileInfo for the specified Tag file, or null if no Tag file is found
      *
-     * @param shortname
-     *            The short name (no prefix) of the tag
-     * @return the TagFileInfo for the specified Tag file, or null if no Tag
-     *         file is found
      * @since JSP 2.0
      */
     public TagFileInfo getTagFile(String shortname) {
@@ -177,8 +167,9 @@ public abstract class TagLibraryInfo {
     /**
      * An array describing the functions that are defined in this tag library.
      *
-     * @return the functions defined in this tag library, or a zero length array
-     *         if the tag library defines no functions.
+     * @return the functions defined in this tag library, or a zero length array if the tag library defines no
+     *             functions.
+     *
      * @since JSP 2.0
      */
     public FunctionInfo[] getFunctions() {
@@ -186,13 +177,12 @@ public abstract class TagLibraryInfo {
     }
 
     /**
-     * Get the FunctionInfo for a given function name, looking through all the
-     * functions in this tag library.
+     * Get the FunctionInfo for a given function name, looking through all the functions in this tag library.
+     *
+     * @param name The name (no prefix) of the function
+     *
+     * @return the FunctionInfo for the function with the given name, or null if no such function exists
      *
-     * @param name
-     *            The name (no prefix) of the function
-     * @return the FunctionInfo for the function with the given name, or null if
-     *         no such function exists
      * @since JSP 2.0
      */
     public FunctionInfo getFunction(String name) {
@@ -210,17 +200,15 @@ public abstract class TagLibraryInfo {
     }
 
     /**
-     * Returns an array of TagLibraryInfo objects representing the entire set of
-     * tag libraries (including this TagLibraryInfo) imported by taglib
-     * directives in the translation unit that references this TagLibraryInfo.
-     * If a tag library is imported more than once and bound to different
-     * prefixes, only the TagLibraryInfo bound to the first prefix must be
-     * included in the returned array.
+     * Returns an array of TagLibraryInfo objects representing the entire set of tag libraries (including this
+     * TagLibraryInfo) imported by taglib directives in the translation unit that references this TagLibraryInfo. If a
+     * tag library is imported more than once and bound to different prefixes, only the TagLibraryInfo bound to the
+     * first prefix must be included in the returned array.
+     *
+     * @return Array of TagLibraryInfo objects representing the entire set of tag libraries (including this
+     *             TagLibraryInfo) imported by taglib directives in the translation unit that references this
+     *             TagLibraryInfo.
      *
-     * @return Array of TagLibraryInfo objects representing the entire set of
-     *         tag libraries (including this TagLibraryInfo) imported by taglib
-     *         directives in the translation unit that references this
-     *         TagLibraryInfo.
      * @since JSP 2.1
      */
     public abstract jakarta.servlet.jsp.tagext.TagLibraryInfo[] getTagLibraryInfos();
@@ -233,8 +221,7 @@ public abstract class TagLibraryInfo {
     protected String prefix;
 
     /**
-     * The value of the uri attribute from the taglib directive for this
-     * library.
+     * The value of the uri attribute from the taglib directive for this library.
      */
     protected String uri;
 
diff --git a/java/jakarta/servlet/jsp/tagext/TagLibraryValidator.java b/java/jakarta/servlet/jsp/tagext/TagLibraryValidator.java
index 64ba3fabb8..478d9ee558 100644
--- a/java/jakarta/servlet/jsp/tagext/TagLibraryValidator.java
+++ b/java/jakarta/servlet/jsp/tagext/TagLibraryValidator.java
@@ -21,111 +21,79 @@ import java.util.HashMap;
 import java.util.Map;
 
 /**
- * Translation-time validator class for a JSP page.
- * A validator operates on the XML view associated with the JSP page.
- *
+ * Translation-time validator class for a JSP page. A validator operates on the XML view associated with the JSP page.
  * <p>
- * The TLD file associates a TagLibraryValidator class and some init
- * arguments with a tag library.
- *
+ * The TLD file associates a TagLibraryValidator class and some init arguments with a tag library.
  * <p>
- * The JSP container is responsible for locating an appropriate
- * instance of the appropriate subclass by
- *
+ * The JSP container is responsible for locating an appropriate instance of the appropriate subclass by
  * <ul>
- * <li> new a fresh instance, or reuse an available one
- * <li> invoke the setInitParams(Map) method on the instance
+ * <li>new a fresh instance, or reuse an available one
+ * <li>invoke the setInitParams(Map) method on the instance
  * </ul>
- *
- * once initialized, the validate(String, String, PageData) method will
- * be invoked, where the first two arguments are the prefix
- * and uri for this tag library in the XML View.  The prefix is intended
- * to make it easier to produce an error message.  However, it is not
- * always accurate.  In the case where a single URI is mapped to more
- * than one prefix in the XML view, the prefix of the first URI is provided.
- * Therefore, to provide high quality error messages in cases where the
- * tag elements themselves are checked, the prefix parameter should be
- * ignored and the actual prefix of the element should be used instead.
- * TagLibraryValidators should always use the uri to identify elements
- * as belonging to the tag library, not the prefix.
- *
+ * once initialized, the validate(String, String, PageData) method will be invoked, where the first two arguments are
+ * the prefix and uri for this tag library in the XML View. The prefix is intended to make it easier to produce an error
+ * message. However, it is not always accurate. In the case where a single URI is mapped to more than one prefix in the
+ * XML view, the prefix of the first URI is provided. Therefore, to provide high quality error messages in cases where
+ * the tag elements themselves are checked, the prefix parameter should be ignored and the actual prefix of the element
+ * should be used instead. TagLibraryValidators should always use the uri to identify elements as belonging to the tag
+ * library, not the prefix.
  * <p>
- * A TagLibraryValidator instance
- * may create auxiliary objects internally to perform
- * the validation (e.g. an XSchema validator) and may reuse it for all
- * the pages in a given translation run.
- *
+ * A TagLibraryValidator instance may create auxiliary objects internally to perform the validation (e.g. an XSchema
+ * validator) and may reuse it for all the pages in a given translation run.
  * <p>
- * The JSP container is not guaranteed to serialize invocations of
- * validate() method, and TagLibraryValidators should perform any
- * synchronization they may require.
- *
+ * The JSP container is not guaranteed to serialize invocations of validate() method, and TagLibraryValidators should
+ * perform any synchronization they may require.
  * <p>
- * As of JSP 2.0, a JSP container must provide a jsp:id attribute to
- * provide higher quality validation errors.
- * The container will track the JSP pages
- * as passed to the container, and will assign to each element
- * a unique "id", which is passed as the value of the jsp:id
- * attribute.  Each XML element in the XML view available will
- * be extended with this attribute.  The TagLibraryValidator
- * can then use the attribute in one or more ValidationMessage
- * objects.  The container then, in turn, can use these
- * values to provide more precise information on the location
- * of an error.
- *
+ * As of JSP 2.0, a JSP container must provide a jsp:id attribute to provide higher quality validation errors. The
+ * container will track the JSP pages as passed to the container, and will assign to each element a unique "id", which
+ * is passed as the value of the jsp:id attribute. Each XML element in the XML view available will be extended with this
+ * attribute. The TagLibraryValidator can then use the attribute in one or more ValidationMessage objects. The container
+ * then, in turn, can use these values to provide more precise information on the location of an error.
  * <p>
- * The actual prefix of the <code>id</code> attribute may or may not be
- * <code>jsp</code> but it will always map to the namespace
- * <code>http://java.sun.com/JSP/Page</code>.  A TagLibraryValidator
- * implementation must rely on the uri, not the prefix, of the <code>id</code>
- * attribute.
+ * The actual prefix of the <code>id</code> attribute may or may not be <code>jsp</code> but it will always map to the
+ * namespace <code>http://java.sun.com/JSP/Page</code>. A TagLibraryValidator implementation must rely on the uri, not
+ * the prefix, of the <code>id</code> attribute.
  */
 
 public abstract class TagLibraryValidator {
 
     /**
-     * Sole constructor. (For invocation by subclass constructors,
-     * typically implicit.)
+     * Sole constructor. (For invocation by subclass constructors, typically implicit.)
      */
     public TagLibraryValidator() {
         // NOOP by default
     }
 
     /**
-     * Set the init data in the TLD for this validator.
-     * Parameter names are keys, and parameter values are the values.
+     * Set the init data in the TLD for this validator. Parameter names are keys, and parameter values are the values.
      *
      * @param map A Map describing the init parameters
      */
-    public void setInitParameters(Map<String, Object> map) {
+    public void setInitParameters(Map<String,Object> map) {
         initParameters = Collections.unmodifiableMap(new HashMap<>(map));
     }
 
 
     /**
-     * Get the init parameters data as an immutable Map.
-     * Parameter names are keys, and parameter values are the values.
+     * Get the init parameters data as an immutable Map. Parameter names are keys, and parameter values are the values.
      *
      * @return The init parameters as an immutable map.
      */
-    public Map<String, Object> getInitParameters() {
+    public Map<String,Object> getInitParameters() {
         return initParameters;
     }
 
     /**
-     * Validate a JSP page.
-     * This will get invoked once per unique tag library URI in the
-     * XML view.  This method will return null if the page is valid; otherwise
-     * the method should return an array of ValidationMessage objects.
-     * An array of length zero is also interpreted as no errors.
+     * Validate a JSP page. This will get invoked once per unique tag library URI in the XML view. This method will
+     * return null if the page is valid; otherwise the method should return an array of ValidationMessage objects. An
+     * array of length zero is also interpreted as no errors.
+     *
+     * @param prefix the first prefix with which the tag library is associated, in the XML view. Note that some tags may
+     *                   use a different prefix if the namespace is redefined.
+     * @param uri    the tag library's unique identifier
+     * @param page   the JspData page object
      *
-     * @param prefix the first prefix with which the tag library is
-     *     associated, in the XML view.  Note that some tags may use
-     *     a different prefix if the namespace is redefined.
-     * @param uri the tag library's unique identifier
-     * @param page the JspData page object
-     * @return A null object, or zero length array if no errors, an array
-     * of ValidationMessages otherwise.
+     * @return A null object, or zero length array if no errors, an array of ValidationMessages otherwise.
      */
     public ValidationMessage[] validate(String prefix, String uri, PageData page) {
         return null;
@@ -139,6 +107,6 @@ public abstract class TagLibraryValidator {
     }
 
     // Private data
-    private Map<String, Object> initParameters;
+    private Map<String,Object> initParameters;
 
 }
diff --git a/java/jakarta/servlet/jsp/tagext/TagSupport.java b/java/jakarta/servlet/jsp/tagext/TagSupport.java
index 13fa5ded3e..7fda1d03d2 100644
--- a/java/jakarta/servlet/jsp/tagext/TagSupport.java
+++ b/java/jakarta/servlet/jsp/tagext/TagSupport.java
@@ -27,53 +27,37 @@ import jakarta.servlet.jsp.PageContext;
 
 /**
  * A base class for defining new tag handlers implementing Tag.
- *
- * <p> The TagSupport class is a utility class intended to be used as
- * the base class for new tag handlers.  The TagSupport class
- * implements the Tag and IterationTag interfaces and adds additional
- * convenience methods including getter methods for the properties in
- * Tag.  TagSupport has one static method that is included to
- * facilitate coordination among cooperating tags.
- *
- * <p> Many tag handlers will extend TagSupport and only redefine a
- * few methods.
+ * <p>
+ * The TagSupport class is a utility class intended to be used as the base class for new tag handlers. The TagSupport
+ * class implements the Tag and IterationTag interfaces and adds additional convenience methods including getter methods
+ * for the properties in Tag. TagSupport has one static method that is included to facilitate coordination among
+ * cooperating tags.
+ * <p>
+ * Many tag handlers will extend TagSupport and only redefine a few methods.
  */
 public class TagSupport implements IterationTag, Serializable {
 
     private static final long serialVersionUID = 1L;
 
     /**
-     * Find the instance of a given class type that is closest to a given
-     * instance.
-     * This method uses the getParent method from the Tag
-     * interface.
-     * This method is used for coordination among cooperating tags.
-     *
+     * Find the instance of a given class type that is closest to a given instance. This method uses the getParent
+     * method from the Tag interface. This method is used for coordination among cooperating tags.
      * <p>
-     * The current version of the specification only provides one formal
-     * way of indicating the observable type of a tag handler: its
-     * tag handler implementation class, described in the tag-class
-     * subelement of the tag element.  This is extended in an
-     * informal manner by allowing the tag library author to
-     * indicate in the description subelement an observable type.
-     * The type should be a subtype of the tag handler implementation
-     * class or void.
-     * This additional constraint can be exploited by a
-     * specialized container that knows about that specific tag library,
-     * as in the case of the JSP standard tag library.
-     *
+     * The current version of the specification only provides one formal way of indicating the observable type of a tag
+     * handler: its tag handler implementation class, described in the tag-class subelement of the tag element. This is
+     * extended in an informal manner by allowing the tag library author to indicate in the description subelement an
+     * observable type. The type should be a subtype of the tag handler implementation class or void. This additional
+     * constraint can be exploited by a specialized container that knows about that specific tag library, as in the case
+     * of the JSP standard tag library.
      * <p>
-     * When a tag library author provides information on the
-     * observable type of a tag handler, client programmatic code
-     * should adhere to that constraint.  Specifically, the Class
-     * passed to findAncestorWithClass should be a subtype of the
-     * observable type.
+     * When a tag library author provides information on the observable type of a tag handler, client programmatic code
+     * should adhere to that constraint. Specifically, the Class passed to findAncestorWithClass should be a subtype of
+     * the observable type.
      *
-     *
-     * @param from The instance from where to start looking.
+     * @param from  The instance from where to start looking.
      * @param klass The subclass of Tag or interface to be matched
-     * @return the nearest ancestor that implements the interface
-     * or is an instance of the class specified
+     *
+     * @return the nearest ancestor that implements the interface or is an instance of the class specified
      */
     public static final Tag findAncestorWithClass(Tag from, Class<?> klass) {
         boolean isInterface = false;
@@ -90,8 +74,7 @@ public class TagSupport implements IterationTag, Serializable {
                 return null;
             }
 
-            if ((isInterface && klass.isInstance(tag)) ||
-                    ((Class<?>)klass).isAssignableFrom(tag.getClass())) {
+            if ((isInterface && klass.isInstance(tag)) || ((Class<?>) klass).isAssignableFrom(tag.getClass())) {
                 return tag;
             }
             from = tag;
@@ -99,12 +82,8 @@ public class TagSupport implements IterationTag, Serializable {
     }
 
     /**
-     * Default constructor, all subclasses are required to define only
-     * a public constructor with the same signature, and to call the
-     * superclass constructor.
-     *
-     * This constructor is called by the code generated by the JSP
-     * translator.
+     * Default constructor, all subclasses are required to define only a public constructor with the same signature, and
+     * to call the superclass constructor. This constructor is called by the code generated by the JSP translator.
      */
     public TagSupport() {
         // NOOP by default
@@ -114,6 +93,7 @@ public class TagSupport implements IterationTag, Serializable {
      * Default processing of the start tag, returning SKIP_BODY.
      *
      * @return SKIP_BODY
+     *
      * @throws JspException if an error occurs while processing this tag
      *
      * @see Tag#doStartTag()
@@ -127,6 +107,7 @@ public class TagSupport implements IterationTag, Serializable {
      * Default processing of the end tag returning EVAL_PAGE.
      *
      * @return EVAL_PAGE
+     *
      * @throws JspException if an error occurs while processing this tag
      *
      * @see Tag#doEndTag()
@@ -141,6 +122,7 @@ public class TagSupport implements IterationTag, Serializable {
      * Default processing for a body.
      *
      * @return SKIP_BODY
+     *
      * @throws JspException if an error occurs while processing this tag
      *
      * @see IterationTag#doAfterBody()
@@ -162,7 +144,7 @@ public class TagSupport implements IterationTag, Serializable {
     public void release() {
         parent = null;
         id = null;
-        if( values != null ) {
+        if (values != null) {
             values.clear();
         }
         values = null;
@@ -172,6 +154,7 @@ public class TagSupport implements IterationTag, Serializable {
      * Set the nesting tag of this tag.
      *
      * @param t The parent Tag.
+     *
      * @see Tag#setParent(Tag)
      */
     @Override
@@ -181,6 +164,7 @@ public class TagSupport implements IterationTag, Serializable {
 
     /**
      * The Tag instance most closely enclosing this tag instance.
+     *
      * @see Tag#getParent()
      *
      * @return the parent tag instance or null
@@ -212,6 +196,7 @@ public class TagSupport implements IterationTag, Serializable {
      * Set the page context.
      *
      * @param pageContext The PageContext.
+     *
      * @see Tag#setPageContext
      */
     @Override
@@ -236,6 +221,7 @@ public class TagSupport implements IterationTag, Serializable {
      * Get a the value associated with a key.
      *
      * @param k The string key.
+     *
      * @return The value associated with the key, or null.
      */
     public Object getValue(String k) {
@@ -259,8 +245,8 @@ public class TagSupport implements IterationTag, Serializable {
     /**
      * Enumerate the keys for the values kept by this tag handler.
      *
-     * @return An enumeration of all the keys for the values set,
-     *     or null or an empty Enumeration if no values have been set.
+     * @return An enumeration of all the keys for the values set, or null or an empty Enumeration if no values have been
+     *             set.
      */
     public Enumeration<String> getValues() {
         if (values == null) {
@@ -277,7 +263,7 @@ public class TagSupport implements IterationTag, Serializable {
     /**
      * Map of object values keyed by Strings for this tag.
      */
-    private Map<String, Object> values;
+    private Map<String,Object> values;
 
     /**
      * The value of the id attribute of this tag; or null.
diff --git a/java/jakarta/servlet/jsp/tagext/TagVariableInfo.java b/java/jakarta/servlet/jsp/tagext/TagVariableInfo.java
index 5d0a44e30f..fb6edd350a 100644
--- a/java/jakarta/servlet/jsp/tagext/TagVariableInfo.java
+++ b/java/jakarta/servlet/jsp/tagext/TagVariableInfo.java
@@ -17,29 +17,22 @@
 package jakarta.servlet.jsp.tagext;
 
 /**
- * Variable information for a tag in a Tag Library; This class is instantiated
- * from the Tag Library Descriptor file (TLD) and is available only at
- * translation time. This object should be immutable. This information is only
- * available in JSP 1.2 format TLDs or above.
+ * Variable information for a tag in a Tag Library; This class is instantiated from the Tag Library Descriptor file
+ * (TLD) and is available only at translation time. This object should be immutable. This information is only available
+ * in JSP 1.2 format TLDs or above.
  */
 public class TagVariableInfo {
 
     /**
      * Constructor for TagVariableInfo.
      *
-     * @param nameGiven
-     *            value of &lt;name-given&gt;
-     * @param nameFromAttribute
-     *            value of &lt;name-from-attribute&gt;
-     * @param className
-     *            value of &lt;variable-class&gt;
-     * @param declare
-     *            value of &lt;declare&gt;
-     * @param scope
-     *            value of &lt;scope&gt;
+     * @param nameGiven         value of &lt;name-given&gt;
+     * @param nameFromAttribute value of &lt;name-from-attribute&gt;
+     * @param className         value of &lt;variable-class&gt;
+     * @param declare           value of &lt;declare&gt;
+     * @param scope             value of &lt;scope&gt;
      */
-    public TagVariableInfo(String nameGiven, String nameFromAttribute,
-            String className, boolean declare, int scope) {
+    public TagVariableInfo(String nameGiven, String nameFromAttribute, String className, boolean declare, int scope) {
         this.nameGiven = nameGiven;
         this.nameFromAttribute = nameFromAttribute;
         this.className = className;
@@ -57,10 +50,8 @@ public class TagVariableInfo {
     }
 
     /**
-     * The body of the &lt;name-from-attribute&gt; element. This is the name of
-     * an attribute whose (translation-time) value will give the name of the
-     * variable. One of &lt;name-given&gt; or &lt;name-from-attribute&gt; is
-     * required.
+     * The body of the &lt;name-from-attribute&gt; element. This is the name of an attribute whose (translation-time)
+     * value will give the name of the variable. One of &lt;name-given&gt; or &lt;name-from-attribute&gt; is required.
      *
      * @return The attribute whose value defines the variable name
      */
@@ -71,8 +62,7 @@ public class TagVariableInfo {
     /**
      * The body of the &lt;variable-class&gt; element.
      *
-     * @return The name of the class of the variable or 'java.lang.String' if
-     *         not defined in the TLD.
+     * @return The name of the class of the variable or 'java.lang.String' if not defined in the TLD.
      */
     public String getClassName() {
         return className;
@@ -81,8 +71,7 @@ public class TagVariableInfo {
     /**
      * The body of the &lt;declare&gt; element.
      *
-     * @return Whether the variable is to be declared or not. If not defined in
-     *         the TLD, 'true' will be returned.
+     * @return Whether the variable is to be declared or not. If not defined in the TLD, 'true' will be returned.
      */
     public boolean getDeclare() {
         return declare;
@@ -91,8 +80,7 @@ public class TagVariableInfo {
     /**
      * The body of the &lt;scope&gt; element.
      *
-     * @return The scope to give the variable. NESTED scope will be returned if
-     *         not defined in the TLD.
+     * @return The scope to give the variable. NESTED scope will be returned if not defined in the TLD.
      */
     public int getScope() {
         return scope;
diff --git a/java/jakarta/servlet/jsp/tagext/TryCatchFinally.java b/java/jakarta/servlet/jsp/tagext/TryCatchFinally.java
index e03414cf8b..94a13245dc 100644
--- a/java/jakarta/servlet/jsp/tagext/TryCatchFinally.java
+++ b/java/jakarta/servlet/jsp/tagext/TryCatchFinally.java
@@ -17,13 +17,12 @@
 package jakarta.servlet.jsp.tagext;
 
 
-
 /**
- * The auxiliary interface of a Tag, IterationTag or BodyTag tag
- * handler that wants additional hooks for managing resources.
- *
- * <p>This interface provides two new methods: doCatch(Throwable)
- * and doFinally().  The prototypical invocation is as follows:
+ * The auxiliary interface of a Tag, IterationTag or BodyTag tag handler that wants additional hooks for managing
+ * resources.
+ * <p>
+ * This interface provides two new methods: doCatch(Throwable) and doFinally(). The prototypical invocation is as
+ * follows:
  *
  * <pre>
  * h = get a Tag();  // get a tag handler, perhaps from pool
@@ -54,43 +53,33 @@ package jakarta.servlet.jsp.tagext;
 public interface TryCatchFinally {
 
     /**
-     * Invoked if a Throwable occurs while evaluating the BODY
-     * inside a tag or in any of the following methods:
-     * Tag.doStartTag(), Tag.doEndTag(),
-     * IterationTag.doAfterBody() and BodyTag.doInitBody().
-     *
-     * <p>This method is not invoked if the Throwable occurs during
-     * one of the setter methods.
-     *
-     * <p>This method may throw an exception (the same or a new one)
-     * that will be propagated further up the nest chain.  If an exception
-     * is thrown, doFinally() will be invoked.
-     *
-     * <p>This method is intended to be used to respond to an exceptional
-     * condition.
+     * Invoked if a Throwable occurs while evaluating the BODY inside a tag or in any of the following methods:
+     * Tag.doStartTag(), Tag.doEndTag(), IterationTag.doAfterBody() and BodyTag.doInitBody().
+     * <p>
+     * This method is not invoked if the Throwable occurs during one of the setter methods.
+     * <p>
+     * This method may throw an exception (the same or a new one) that will be propagated further up the nest chain. If
+     * an exception is thrown, doFinally() will be invoked.
+     * <p>
+     * This method is intended to be used to respond to an exceptional condition.
      *
      * @param t The throwable exception navigating through this tag.
-     * @throws Throwable if the exception is to be rethrown further up
-     *     the nest chain.
+     *
+     * @throws Throwable if the exception is to be rethrown further up the nest chain.
      */
 
     void doCatch(Throwable t) throws Throwable;
 
     /**
-     * Invoked in all cases after doEndTag() for any class implementing
-     * Tag, IterationTag or BodyTag.  This method is invoked even if
-     * an exception has occurred in the BODY of the tag,
-     * or in any of the following methods:
-     * Tag.doStartTag(), Tag.doEndTag(),
-     * IterationTag.doAfterBody() and BodyTag.doInitBody().
-     *
-     * <p>This method is not invoked if the Throwable occurs during
-     * one of the setter methods.
-     *
-     * <p>This method should not throw an Exception.
-     *
-     * <p>This method is intended to maintain per-invocation data
-     * integrity and resource management actions.
+     * Invoked in all cases after doEndTag() for any class implementing Tag, IterationTag or BodyTag. This method is
+     * invoked even if an exception has occurred in the BODY of the tag, or in any of the following methods:
+     * Tag.doStartTag(), Tag.doEndTag(), IterationTag.doAfterBody() and BodyTag.doInitBody().
+     * <p>
+     * This method is not invoked if the Throwable occurs during one of the setter methods.
+     * <p>
+     * This method should not throw an Exception.
+     * <p>
+     * This method is intended to maintain per-invocation data integrity and resource management actions.
      */
 
     void doFinally();
diff --git a/java/jakarta/servlet/jsp/tagext/ValidationMessage.java b/java/jakarta/servlet/jsp/tagext/ValidationMessage.java
index 3d0ce82c9e..c231ec09d8 100644
--- a/java/jakarta/servlet/jsp/tagext/ValidationMessage.java
+++ b/java/jakarta/servlet/jsp/tagext/ValidationMessage.java
@@ -19,34 +19,25 @@ package jakarta.servlet.jsp.tagext;
 /**
  * A validation message from either TagLibraryValidator or TagExtraInfo.
  * <p>
- * As of JSP 2.0, a JSP container must support a jsp:id attribute to provide
- * higher quality validation errors. The container will track the JSP pages as
- * passed to the container, and will assign to each element a unique "id", which
- * is passed as the value of the jsp:id attribute. Each XML element in the XML
- * view available will be extended with this attribute. The TagLibraryValidator
- * can then use the attribute in one or more ValidationMessage objects. The
- * container then, in turn, can use these values to provide more precise
- * information on the location of an error.
+ * As of JSP 2.0, a JSP container must support a jsp:id attribute to provide higher quality validation errors. The
+ * container will track the JSP pages as passed to the container, and will assign to each element a unique "id", which
+ * is passed as the value of the jsp:id attribute. Each XML element in the XML view available will be extended with this
+ * attribute. The TagLibraryValidator can then use the attribute in one or more ValidationMessage objects. The container
+ * then, in turn, can use these values to provide more precise information on the location of an error.
  * <p>
- * The actual prefix of the <code>id</code> attribute may or may not be
- * <code>jsp</code> but it will always map to the namespace
- * <code>http://java.sun.com/JSP/Page</code>. A TagLibraryValidator
- * implementation must rely on the uri, not the prefix, of the <code>id</code>
- * attribute.
+ * The actual prefix of the <code>id</code> attribute may or may not be <code>jsp</code> but it will always map to the
+ * namespace <code>http://java.sun.com/JSP/Page</code>. A TagLibraryValidator implementation must rely on the uri, not
+ * the prefix, of the <code>id</code> attribute.
  */
 public class ValidationMessage {
 
     /**
-     * Create a ValidationMessage. The message String should be non-null. The
-     * value of id may be null, if the message is not specific to any XML
-     * element, or if no jsp:id attributes were passed on. If non-null, the
-     * value of id must be the value of a jsp:id attribute for the PageData
-     * passed into the validate() method.
+     * Create a ValidationMessage. The message String should be non-null. The value of id may be null, if the message is
+     * not specific to any XML element, or if no jsp:id attributes were passed on. If non-null, the value of id must be
+     * the value of a jsp:id attribute for the PageData passed into the validate() method.
      *
-     * @param id
-     *            Either null, or the value of a jsp:id attribute.
-     * @param message
-     *            A localized validation message.
+     * @param id      Either null, or the value of a jsp:id attribute.
+     * @param message A localized validation message.
      */
     public ValidationMessage(String id, String message) {
         this.id = id;
diff --git a/java/jakarta/servlet/jsp/tagext/VariableInfo.java b/java/jakarta/servlet/jsp/tagext/VariableInfo.java
index b3e929e800..e3409ec51c 100644
--- a/java/jakarta/servlet/jsp/tagext/VariableInfo.java
+++ b/java/jakarta/servlet/jsp/tagext/VariableInfo.java
@@ -17,76 +17,61 @@
 package jakarta.servlet.jsp.tagext;
 
 /**
- * Information on the scripting variables that are created/modified by a tag (at
- * run-time). This information is provided by TagExtraInfo classes and it is
- * used by the translation phase of JSP.
+ * Information on the scripting variables that are created/modified by a tag (at run-time). This information is provided
+ * by TagExtraInfo classes and it is used by the translation phase of JSP.
  * <p>
- * Scripting variables generated by a custom action have an associated scope of
- * either AT_BEGIN, NESTED, or AT_END.
+ * Scripting variables generated by a custom action have an associated scope of either AT_BEGIN, NESTED, or AT_END.
  * <p>
- * The class name (VariableInfo.getClassName) in the returned objects is used to
- * determine the types of the scripting variables. Note that because scripting
- * variables are assigned their values from scoped attributes which cannot be of
- * primitive types, &quot;boxed&quot; types such as
- * <code>java.lang.Integer</code> must be used instead of primitives.
+ * The class name (VariableInfo.getClassName) in the returned objects is used to determine the types of the scripting
+ * variables. Note that because scripting variables are assigned their values from scoped attributes which cannot be of
+ * primitive types, &quot;boxed&quot; types such as <code>java.lang.Integer</code> must be used instead of primitives.
  * <p>
  * The class name may be a Fully Qualified Class Name, or a short class name.
  * <p>
- * If a Fully Qualified Class Name is provided, it should refer to a class that
- * should be in the CLASSPATH for the Web Application (see Servlet 2.4
- * specification - essentially it is WEB-INF/lib and WEB-INF/classes). Failure
- * to be so will lead to a translation-time error.
+ * If a Fully Qualified Class Name is provided, it should refer to a class that should be in the CLASSPATH for the Web
+ * Application (see Servlet 2.4 specification - essentially it is WEB-INF/lib and WEB-INF/classes). Failure to be so
+ * will lead to a translation-time error.
  * <p>
- * If a short class name is given in the VariableInfo objects, then the class
- * name must be that of a public class in the context of the import directives
- * of the page where the custom action appears. The class must also be in the
- * CLASSPATH for the Web Application (see Servlet 2.4 specification -
- * essentially it is WEB-INF/lib and WEB-INF/classes). Failure to be so will
- * lead to a translation-time error.
+ * If a short class name is given in the VariableInfo objects, then the class name must be that of a public class in the
+ * context of the import directives of the page where the custom action appears. The class must also be in the CLASSPATH
+ * for the Web Application (see Servlet 2.4 specification - essentially it is WEB-INF/lib and WEB-INF/classes). Failure
+ * to be so will lead to a translation-time error.
  * <p>
  * <B>Usage Comments</B>
  * <p>
- * Frequently a fully qualified class name will refer to a class that is known
- * to the tag library and thus, delivered in the same JAR file as the tag
- * handlers. In most other remaining cases it will refer to a class that is in
- * the platform on which the JSP processor is built. Using fully
- * qualified class names in this manner makes the usage relatively resistant to
- * configuration errors.
+ * Frequently a fully qualified class name will refer to a class that is known to the tag library and thus, delivered in
+ * the same JAR file as the tag handlers. In most other remaining cases it will refer to a class that is in the platform
+ * on which the JSP processor is built. Using fully qualified class names in this manner makes the usage relatively
+ * resistant to configuration errors.
  * <p>
- * A short name is usually generated by the tag library based on some attributes
- * passed through from the custom action user (the author), and it is thus less
- * robust: for instance a missing import directive in the referring JSP page
- * will lead to an invalid short name class and a translation error.
+ * A short name is usually generated by the tag library based on some attributes passed through from the custom action
+ * user (the author), and it is thus less robust: for instance a missing import directive in the referring JSP page will
+ * lead to an invalid short name class and a translation error.
  * <p>
  * <B>Synchronization Protocol</B>
  * <p>
- * The result of the invocation on getVariableInfo is an array of VariableInfo
- * objects. Each such object describes a scripting variable by providing its
- * name, its type, whether the variable is new or not, and what its scope is.
- * Scope is best described through a picture:
+ * The result of the invocation on getVariableInfo is an array of VariableInfo objects. Each such object describes a
+ * scripting variable by providing its name, its type, whether the variable is new or not, and what its scope is. Scope
+ * is best described through a picture:
  * <p>
- * <IMG src="doc-files/VariableInfo-1.gif"
- * alt="NESTED, AT_BEGIN and AT_END Variable Scopes">
+ * <IMG src="doc-files/VariableInfo-1.gif" alt="NESTED, AT_BEGIN and AT_END Variable Scopes">
  * <p>
  * The JSP 2.0 specification defines the interpretation of 3 values:
  * <ul>
- * <li>NESTED, if the scripting variable is available between the start tag and
- * the end tag of the action that defines it.
- * <li>AT_BEGIN, if the scripting variable is available from the start tag of
- * the action that defines it until the end of the scope.
- * <li>AT_END, if the scripting variable is available after the end tag of the
- * action that defines it until the end of the scope.
+ * <li>NESTED, if the scripting variable is available between the start tag and the end tag of the action that defines
+ * it.
+ * <li>AT_BEGIN, if the scripting variable is available from the start tag of the action that defines it until the end
+ * of the scope.
+ * <li>AT_END, if the scripting variable is available after the end tag of the action that defines it until the end of
+ * the scope.
  * </ul>
- * The scope value for a variable implies what methods may affect its value and
- * thus where synchronization is needed as illustrated by the table below.
- * <b>Note:</b> the synchronization of the variable(s) will occur <em>after</em>
- * the respective method has been called. <blockquote>
+ * The scope value for a variable implies what methods may affect its value and thus where synchronization is needed as
+ * illustrated by the table below. <b>Note:</b> the synchronization of the variable(s) will occur <em>after</em> the
+ * respective method has been called. <blockquote>
  * <table style="background-color:#999999">
- * <caption>Variable Synchronization Points</caption>
- * <tbody>
+ * <caption>Variable Synchronization Points</caption> <tbody>
  * <tr>
- * <td colspan="6" style="background-color:#999999">
- *   <u><b>Variable Synchronization Points</b></u><br>
+ * <td colspan="6" style="background-color:#999999"><u><b>Variable Synchronization Points</b></u><br>
  * </td>
  * </tr>
  * <tr>
@@ -128,11 +113,9 @@ package jakarta.servlet.jsp.tagext;
  * <tr>
  * <td style="background-color:#c0c0c0"><b>BodyTag<br>
  * </b></td>
- * <td style="background-color:#ffffff">AT_BEGIN,
- * NESTED<sup>1</sup><br>
+ * <td style="background-color:#ffffff">AT_BEGIN, NESTED<sup>1</sup><br>
  * </td>
- * <td style="background-color:#ffffff">AT_BEGIN,
- * NESTED<sup>1</sup><br>
+ * <td style="background-color:#ffffff">AT_BEGIN, NESTED<sup>1</sup><br>
  * </td>
  * <td style="background-color:#ffffff">AT_BEGIN, NESTED<br>
  * </td>
@@ -157,21 +140,18 @@ package jakarta.servlet.jsp.tagext;
  * </tr>
  * </tbody>
  * </table>
- * <sup>1</sup> Called after <code>doStartTag()</code> if
- * <code>EVAL_BODY_INCLUDE</code> is returned, or after
+ * <sup>1</sup> Called after <code>doStartTag()</code> if <code>EVAL_BODY_INCLUDE</code> is returned, or after
  * <code>doInitBody()</code> otherwise. </blockquote>
  * <p>
  * <B>Variable Information in the TLD</B>
  * <p>
- * Scripting variable information can also be encoded directly for most cases
- * into the Tag Library Descriptor using the &lt;variable&gt; subelement of the
- * &lt;tag&gt; element. See the JSP specification.
+ * Scripting variable information can also be encoded directly for most cases into the Tag Library Descriptor using the
+ * &lt;variable&gt; subelement of the &lt;tag&gt; element. See the JSP specification.
  */
 public class VariableInfo {
 
     /**
-     * Scope information that scripting variable is visible only within the
-     * start/end tags.
+     * Scope information that scripting variable is visible only within the start/end tags.
      */
     public static final int NESTED = 0;
 
@@ -186,21 +166,14 @@ public class VariableInfo {
     public static final int AT_END = 2;
 
     /**
-     * Constructor These objects can be created (at translation time) by the
-     * TagExtraInfo instances.
+     * Constructor These objects can be created (at translation time) by the TagExtraInfo instances.
      *
-     * @param varName
-     *            The name of the scripting variable
-     * @param className
-     *            The type of this variable
-     * @param declare
-     *            If true, it is a new variable (in some languages this will
-     *            require a declaration)
-     * @param scope
-     *            Indication on the lexical scope of the variable
+     * @param varName   The name of the scripting variable
+     * @param className The type of this variable
+     * @param declare   If true, it is a new variable (in some languages this will require a declaration)
+     * @param scope     Indication on the lexical scope of the variable
      */
-    public VariableInfo(String varName, String className, boolean declare,
-            int scope) {
+    public VariableInfo(String varName, String className, boolean declare, int scope) {
         this.varName = varName;
         this.className = className;
         this.declare = declare;
@@ -228,8 +201,7 @@ public class VariableInfo {
     }
 
     /**
-     * Returns whether this is a new variable. If so, in some languages this
-     * will require a declaration.
+     * Returns whether this is a new variable. If so, in some languages this will require a declaration.
      *
      * @return whether this is a new variable.
      */
@@ -240,8 +212,8 @@ public class VariableInfo {
     /**
      * Returns the lexical scope of the variable.
      *
-     * @return the lexical scope of the variable, either AT_BEGIN, AT_END, or
-     *         NESTED.
+     * @return the lexical scope of the variable, either AT_BEGIN, AT_END, or NESTED.
+     *
      * @see #AT_BEGIN
      * @see #AT_END
      * @see #NESTED


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org