diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/BeanParam.java b/jaxrs-api/src/main/java/jakarta/ws/rs/BeanParam.java
index 59d2796..5c22a49 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/BeanParam.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/BeanParam.java
@@ -26,7 +26,7 @@
  * The annotation that may be used to inject custom JAX-RS "parameter aggregator" value object into a resource class
  * field, property or resource method parameter.
  * <p>
- * The JAX-RS runtime will instantiate the object and inject all it's fields and properties annotated with either one of
+ * The JAX-RS runtime will instantiate the object and inject all its fields and properties annotated with either one of
  * the {@code @XxxParam} annotation ({@link PathParam &#64;PathParam}, {@link FormParam &#64;FormParam} ...) or the
  * {@link jakarta.ws.rs.core.Context &#64;Context} annotation. For the POJO classes same instantiation and injection rules
  * apply as in case of instantiation and injection of request-scoped root resource classes.
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/ProcessingException.java b/jaxrs-api/src/main/java/jakarta/ws/rs/ProcessingException.java
index 087d5c5..48ebd0e 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/ProcessingException.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/ProcessingException.java
@@ -33,7 +33,7 @@
  * <p>
  * Note that the exception is used to indicate (internal) JAX-RS processing errors. It is not used to indicate HTTP
  * error response states. A HTTP error response is represented by a {@link jakarta.ws.rs.WebApplicationException} class or
- * one of it's sub-classes.
+ * one of its sub-classes.
  * </p>
  *
  * @author Marek Potociar
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/client/AsyncInvoker.java b/jaxrs-api/src/main/java/jakarta/ws/rs/client/AsyncInvoker.java
index 0a6947c..847e6be 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/client/AsyncInvoker.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/client/AsyncInvoker.java
@@ -107,7 +107,7 @@
      * processing exception will be of {@link ResponseProcessingException} type and will contain the {@link Response}
      * instance whose processing has failed.
      *
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @return invocation response {@link Future future}.
@@ -126,7 +126,7 @@
      * type and will contain the {@link Response} instance whose processing has failed.
      *
      * @param <T> response entity type.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param responseType Java type the response entity will be converted to.
@@ -146,7 +146,7 @@
      * type and will contain the {@link Response} instance whose processing has failed.
      *
      * @param <T> generic response entity type.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param responseType representation of a generic Java type the response entity will be converted to.
@@ -166,7 +166,7 @@
      * {@link ResponseProcessingException} type and will contain the {@link Response} instance whose processing has failed.
      *
      * @param <T> generic response entity type.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param callback asynchronous invocation callback.
@@ -185,7 +185,7 @@
      * processing exception will be of {@link ResponseProcessingException} type and will contain the {@link Response}
      * instance whose processing has failed.
      *
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @return invocation response {@link Future future}.
@@ -205,7 +205,7 @@
      * type and will contain the {@link Response} instance whose processing has failed.
      *
      * @param <T> response entity type.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param responseType Java type the response entity will be converted to.
@@ -225,7 +225,7 @@
      * type and will contain the {@link Response} instance whose processing has failed.
      *
      * @param <T> generic response entity type.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param responseType representation of a generic Java type the response entity will be converted to.
@@ -245,7 +245,7 @@
      * {@link ResponseProcessingException} type and will contain the {@link Response} instance whose processing has failed.
      *
      * @param <T> generic response entity type.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param callback asynchronous invocation callback.
@@ -560,7 +560,7 @@
      * instance whose processing has failed.
      *
      * @param name method name.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @return invocation response {@link Future future}.
@@ -580,7 +580,7 @@
      *
      * @param <T> response entity type.
      * @param name method name.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param responseType Java type the response entity will be converted to.
@@ -601,7 +601,7 @@
      *
      * @param <T> generic response entity type.
      * @param name method name.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param responseType representation of a generic Java type the response entity will be converted to.
@@ -622,7 +622,7 @@
      *
      * @param <T> generic response entity type.
      * @param name method name.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param callback asynchronous invocation callback.
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/client/Client.java b/jaxrs-api/src/main/java/jakarta/ws/rs/client/Client.java
index a03fe84..87a4e19 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/client/Client.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/client/Client.java
@@ -43,7 +43,7 @@
 
     /**
      * <p>
-     * Close client instance and all it's associated resources. Subsequent calls have no effect and are ignored. Once the
+     * Close client instance and all its associated resources. Subsequent calls have no effect and are ignored. Once the
      * client is closed, invoking any other method on the client instance would result in an {@link IllegalStateException}
      * being thrown.
      * </p>
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientBuilder.java b/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientBuilder.java
index efe304d..a1c466f 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientBuilder.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientBuilder.java
@@ -194,7 +194,7 @@
     public abstract ClientBuilder trustStore(final KeyStore trustStore);
 
     /**
-     * Set the hostname verifier to be used by the client to verify the endpoint's hostname against it's identification
+     * Set the hostname verifier to be used by the client to verify the endpoint's hostname against its identification
      * information.
      *
      * @param verifier hostname verifier.
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/client/Invocation.java b/jaxrs-api/src/main/java/jakarta/ws/rs/client/Invocation.java
index eebc17e..113f91e 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/client/Invocation.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/client/Invocation.java
@@ -102,7 +102,7 @@
          * Build a request invocation using an arbitrary request method name and request entity.
          *
          * @param method request method name.
-         * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+         * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
          * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
          * be overwritten using the entity variant information.
          * @return invocation encapsulating the built request.
@@ -126,7 +126,7 @@
         /**
          * Build a POST request invocation.
          *
-         * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+         * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
          * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
          * be overwritten using the entity variant information.
          * @return invocation encapsulating the built POST request.
@@ -136,7 +136,7 @@
         /**
          * Build a PUT request invocation.
          *
-         * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+         * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
          * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
          * be overwritten using the entity variant information.
          * @return invocation encapsulating the built PUT request.
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/client/RxInvoker.java b/jaxrs-api/src/main/java/jakarta/ws/rs/client/RxInvoker.java
index 5e0254d..59f66d1 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/client/RxInvoker.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/client/RxInvoker.java
@@ -74,7 +74,7 @@
     /**
      * Invoke HTTP PUT method for the current request.
      *
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @return invocation response wrapped in the completion aware type.
@@ -87,7 +87,7 @@
     /**
      * Invoke HTTP PUT method for the current request.
      *
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param responseType Java type the response entity will be converted to.
@@ -105,7 +105,7 @@
     /**
      * Invoke HTTP PUT method for the current request.
      *
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param responseType representation of a generic Java type the response entity will be converted to.
@@ -123,7 +123,7 @@
     /**
      * Invoke HTTP POST method for the current request.
      *
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @return invocation response wrapped in the completion aware type.
@@ -136,7 +136,7 @@
     /**
      * Invoke HTTP POST method for the current request.
      *
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param responseType Java type the response entity will be converted to.
@@ -154,7 +154,7 @@
     /**
      * Invoke HTTP POST method for the current request.
      *
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param responseType representation of a generic Java type the response entity will be converted to.
@@ -346,7 +346,7 @@
      * Invoke an arbitrary method for the current request.
      *
      * @param name method name.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @return invocation response wrapped in the completion aware type..
@@ -360,7 +360,7 @@
      * Invoke an arbitrary method for the current request.
      *
      * @param name method name.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param responseType Java type the response entity will be converted to.
@@ -379,7 +379,7 @@
      * Invoke an arbitrary method for the current request.
      *
      * @param name method name.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param responseType representation of a generic Java type the response entity will be converted to.
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/client/SyncInvoker.java b/jaxrs-api/src/main/java/jakarta/ws/rs/client/SyncInvoker.java
index 276b375..2582eda 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/client/SyncInvoker.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/client/SyncInvoker.java
@@ -74,7 +74,7 @@
     /**
      * Invoke HTTP PUT method for the current request synchronously.
      *
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @return invocation response.
@@ -88,7 +88,7 @@
      * Invoke HTTP PUT method for the current request synchronously.
      *
      * @param <T> response entity type.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param responseType Java type the response entity will be converted to.
@@ -106,7 +106,7 @@
      * Invoke HTTP PUT method for the current request synchronously.
      *
      * @param <T> generic response entity type.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param responseType representation of a generic Java type the response entity will be converted to.
@@ -125,7 +125,7 @@
     /**
      * Invoke HTTP POST method for the current request synchronously.
      *
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @return invocation response.
@@ -139,7 +139,7 @@
      * Invoke HTTP POST method for the current request synchronously.
      *
      * @param <T> response entity type.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param responseType Java type the response entity will be converted to.
@@ -157,7 +157,7 @@
      * Invoke HTTP POST method for the current request synchronously.
      *
      * @param <T> generic response entity type.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param responseType representation of a generic Java type the response entity will be converted to.
@@ -358,7 +358,7 @@
      * Invoke an arbitrary method for the current request synchronously.
      *
      * @param name method name.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @return invocation response.
@@ -373,7 +373,7 @@
      *
      * @param <T> response entity type.
      * @param name method name.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param responseType Java type the response entity will be converted to.
@@ -392,7 +392,7 @@
      *
      * @param <T> generic response entity type.
      * @param name method name.
-     * @param entity request entity, including it's full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
+     * @param entity request entity, including its full {@link jakarta.ws.rs.core.Variant} information. Any variant-related
      * HTTP headers previously set (namely {@code Content-Type}, {@code Content-Language} and {@code Content-Encoding}) will
      * be overwritten using the entity variant information.
      * @param responseType representation of a generic Java type the response entity will be converted to.
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/container/TimeoutHandler.java b/jaxrs-api/src/main/java/jakarta/ws/rs/container/TimeoutHandler.java
index e668f8f..3ee7839 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/container/TimeoutHandler.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/container/TimeoutHandler.java
@@ -86,8 +86,8 @@
      * A custom time-out handler may decide to either
      * </p>
      * <ul>
-     * <li>resume the suspended response using one of it's {@code resume(...)} methods,</li>
-     * <li>cancel the suspended response using one of it's {@code cancel(...)} methods, or</li>
+     * <li>resume the suspended response using one of its {@code resume(...)} methods,</li>
+     * <li>cancel the suspended response using one of its {@code cancel(...)} methods, or</li>
      * <li>extend the suspend period by {@link AsyncResponse#setTimeout(long, java.util.concurrent.TimeUnit) setting a new
      * suspend time-out}</li>
      * </ul>
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/core/Application.java b/jaxrs-api/src/main/java/jakarta/ws/rs/core/Application.java
index f336345..6e4ea70 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/core/Application.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/core/Application.java
@@ -28,7 +28,7 @@
  * using {@link jakarta.ws.rs.core.Context}.
  * </p>
  * <p>
- * In case any of the {@code Application} subclass methods or it's constructor throws a {@link RuntimeException}, the
+ * In case any of the {@code Application} subclass methods or its constructor throws a {@link RuntimeException}, the
  * deployment of the application SHOULD be aborted with a failure.
  * </p>
  *
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/core/Configurable.java b/jaxrs-api/src/main/java/jakarta/ws/rs/core/Configurable.java
index 2d49103..df9bba7 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/core/Configurable.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/core/Configurable.java
@@ -104,7 +104,7 @@
  * config.register(ClientLoggingFilter.class, ClientResponseFilter.class);
  *
  * // override the priority of registered GzipInterceptor
- * // and both of it's provider contracts
+ * // and both of its provider contracts
  * config.register(GzipInterceptor.class, 6500);
  * </pre>
  * <p>
diff --git a/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_3.0.0.html b/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_3.0.0.html
index 105f0fc..a28d756 100644
--- a/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_3.0.0.html
+++ b/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_3.0.0.html
@@ -3332,7 +3332,7 @@
 </TR>
 <TR>
 <TD align="center" valign="center"><a name="JAXRS:JAVADOC:409"></a><font size="1PT">JAXRS:JAVADOC:409</font></TD><TD align="center" valign="center"><font size="1PT">void</font></TD><TD align="left" valign="center"><font size="1PT">jakarta.ws.rs.client.Client.close<br>
-</font></TD><TD align="left" valign="center"><font size="1PT">Close client instance and all it's associated resources. Subsequent calls have no effect and are ignored. Once the client is closed, invoking any other method on the client instance would result in an IllegalStateException being thrown. Calling this method effectively invalidates all WebTarget resource targets produced by the client instance. Invoking any method on such targets once the client is closed would result in an IllegalStateException being thrown.</font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD><TD align="center" valign="center"><font size="1PT">
+</font></TD><TD align="left" valign="center"><font size="1PT">Close client instance and all its associated resources. Subsequent calls have no effect and are ignored. Once the client is closed, invoking any other method on the client instance would result in an IllegalStateException being thrown. Calling this method effectively invalidates all WebTarget resource targets produced by the client instance. Invoking any method on such targets once the client is closed would result in an IllegalStateException being thrown.</font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD><TD align="center" valign="center"><font size="1PT">
 <br>
 </font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD>
 </TR>
@@ -4964,7 +4964,7 @@
 	(
 		AsyncResponse
 	)
-	</font></TD><TD align="left" valign="center"><font size="1PT">Invoked when the suspended asynchronous response is about to time out. Implementing time-out handlers may use the callback method to change the default time-out strategy defined by RESTful Web Services specification (see jakarta.ws.rs.container.AsyncResponse API documentation). A custom time-out handler may decide to either resume the suspended response using one of it's resume(...) methods, cancel the suspended response using one of it's cancel(...) methods, or extend the suspend period by AsyncResponse#setTimeout(long, java.util.concurrent.TimeUnit) setting a new suspend time-out In case the time-out handler does not take any of the actions mentioned above, a default time-out strategy is executed by the RESTful Web Services runtime.</font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD><TD align="center" valign="center"><font size="1PT">
+	</font></TD><TD align="left" valign="center"><font size="1PT">Invoked when the suspended asynchronous response is about to time out. Implementing time-out handlers may use the callback method to change the default time-out strategy defined by RESTful Web Services specification (see jakarta.ws.rs.container.AsyncResponse API documentation). A custom time-out handler may decide to either resume the suspended response using one of its resume(...) methods, cancel the suspended response using one of its cancel(...) methods, or extend the suspend period by AsyncResponse#setTimeout(long, java.util.concurrent.TimeUnit) setting a new suspend time-out In case the time-out handler does not take any of the actions mentioned above, a default time-out strategy is executed by the RESTful Web Services runtime.</font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD><TD align="center" valign="center"><font size="1PT">
 <br>
 </font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD>
 </TR>
@@ -7030,7 +7030,7 @@
 	(
 		HostnameVerifier
 	)
-	</font></TD><TD align="left" valign="center"><font size="1PT">Set the hostname verifier to be used by the client to verify the endpoint's hostname against it's identification information.</font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD><TD align="center" valign="center"><font size="1PT">
+	</font></TD><TD align="left" valign="center"><font size="1PT">Set the hostname verifier to be used by the client to verify the endpoint's hostname against its identification information.</font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD><TD align="center" valign="center"><font size="1PT">
 <br>
 </font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD>
 </TR>
diff --git a/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_3.0.0.xml b/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_3.0.0.xml
index 3447b7d..c57b7e7 100644
--- a/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_3.0.0.xml
+++ b/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_3.0.0.xml
@@ -3648,7 +3648,7 @@
     </assertion>
     <assertion required="true" impl-spec="false" status="active" testable="true">
       <id>409</id>
-      <description>Close client instance and all it's associated resources. Subsequent calls have no effect and are ignored. Once the client is closed, invoking any other method on the client instance would result in an IllegalStateException being thrown. Calling this method effectively invalidates all WebTarget resource targets produced by the client instance. Invoking any method on such targets once the client is closed would result in an IllegalStateException being thrown.</description>
+      <description>Close client instance and all its associated resources. Subsequent calls have no effect and are ignored. Once the client is closed, invoking any other method on the client instance would result in an IllegalStateException being thrown. Calling this method effectively invalidates all WebTarget resource targets produced by the client instance. Invoking any method on such targets once the client is closed would result in an IllegalStateException being thrown.</description>
       <package>jakarta.ws.rs.client</package>
       <class-interface>Client</class-interface>
       <method name="close" return-type="void" />
@@ -5467,7 +5467,7 @@
     </assertion>
     <assertion required="true" impl-spec="false" status="active" testable="true">
       <id>725</id>
-      <description>Invoked when the suspended asynchronous response is about to time out. Implementing time-out handlers may use the callback method to change the default time-out strategy defined by JAX-RS specification (see jakarta.ws.rs.container.AsyncResponse API documentation). A custom time-out handler may decide to either resume the suspended response using one of it's resume(...) methods, cancel the suspended response using one of it's cancel(...) methods, or extend the suspend period by AsyncResponse#setTimeout(long, java.util.concurrent.TimeUnit) setting a new suspend time-out In case the time-out handler does not take any of the actions mentioned above, a default time-out strategy is executed by the JAX-RS runtime.</description>
+      <description>Invoked when the suspended asynchronous response is about to time out. Implementing time-out handlers may use the callback method to change the default time-out strategy defined by JAX-RS specification (see jakarta.ws.rs.container.AsyncResponse API documentation). A custom time-out handler may decide to either resume the suspended response using one of its resume(...) methods, cancel the suspended response using one of its cancel(...) methods, or extend the suspend period by AsyncResponse#setTimeout(long, java.util.concurrent.TimeUnit) setting a new suspend time-out In case the time-out handler does not take any of the actions mentioned above, a default time-out strategy is executed by the JAX-RS runtime.</description>
       <package>jakarta.ws.rs.container</package>
       <class-interface>TimeoutHandler</class-interface>
       <method name="handleTimeout" return-type="void">
@@ -7703,7 +7703,7 @@
     </assertion>
     <assertion required="true" impl-spec="false" status="active" testable="true">
       <id>1015</id>
-      <description>Set the hostname verifier to be used by the client to verify the endpoint's hostname against it's identification information.</description>
+      <description>Set the hostname verifier to be used by the client to verify the endpoint's hostname against its identification information.</description>
       <package>jakarta.ws.rs.client</package>
       <class-interface>ClientBuilder</class-interface>
       <method name="hostnameVerifier" return-type="jakarta.ws.rs.client.ClientBuilder">
diff --git a/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_3.1.0.html b/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_3.1.0.html
index 5ef17d9..6f2efb2 100644
--- a/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_3.1.0.html
+++ b/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_3.1.0.html
@@ -3046,7 +3046,7 @@
 </TR>
 <TR>
 <TD align="center" valign="center"><a name="JAXRS:JAVADOC:409"></a><font size="1PT">JAXRS:JAVADOC:409</font></TD><TD align="center" valign="center"><font size="1PT">void</font></TD><TD align="left" valign="center"><font size="1PT">jakarta.ws.rs.client.Client.close<br>
-</font></TD><TD align="left" valign="center"><font size="1PT">Close client instance and all it's associated resources. Subsequent calls have no effect and are ignored. Once the client is closed, invoking any other method on the client instance would result in an IllegalStateException being thrown. Calling this method effectively invalidates all WebTarget resource targets produced by the client instance. Invoking any method on such targets once the client is closed would result in an IllegalStateException being thrown.</font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD><TD align="center" valign="center"><font size="1PT">
+</font></TD><TD align="left" valign="center"><font size="1PT">Close client instance and all its associated resources. Subsequent calls have no effect and are ignored. Once the client is closed, invoking any other method on the client instance would result in an IllegalStateException being thrown. Calling this method effectively invalidates all WebTarget resource targets produced by the client instance. Invoking any method on such targets once the client is closed would result in an IllegalStateException being thrown.</font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD><TD align="center" valign="center"><font size="1PT">
 <br>
 </font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD>
 </TR>
@@ -4591,7 +4591,7 @@
 	(
 		AsyncResponse
 	)
-	</font></TD><TD align="left" valign="center"><font size="1PT">Invoked when the suspended asynchronous response is about to time out. Implementing time-out handlers may use the callback method to change the default time-out strategy defined by JAX-RS specification (see jakarta.ws.rs.container.AsyncResponse API documentation). A custom time-out handler may decide to either resume the suspended response using one of it's resume(...) methods, cancel the suspended response using one of it's cancel(...) methods, or extend the suspend period by AsyncResponse#setTimeout(long, java.util.concurrent.TimeUnit) setting a new suspend time-out In case the time-out handler does not take any of the actions mentioned above, a default time-out strategy is executed by the JAX-RS runtime.</font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD><TD align="center" valign="center"><font size="1PT">
+	</font></TD><TD align="left" valign="center"><font size="1PT">Invoked when the suspended asynchronous response is about to time out. Implementing time-out handlers may use the callback method to change the default time-out strategy defined by JAX-RS specification (see jakarta.ws.rs.container.AsyncResponse API documentation). A custom time-out handler may decide to either resume the suspended response using one of its resume(...) methods, cancel the suspended response using one of its cancel(...) methods, or extend the suspend period by AsyncResponse#setTimeout(long, java.util.concurrent.TimeUnit) setting a new suspend time-out In case the time-out handler does not take any of the actions mentioned above, a default time-out strategy is executed by the JAX-RS runtime.</font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD><TD align="center" valign="center"><font size="1PT">
 <br>
 </font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD>
 </TR>
@@ -6536,7 +6536,7 @@
 	(
 		HostnameVerifier
 	)
-	</font></TD><TD align="left" valign="center"><font size="1PT">Set the hostname verifier to be used by the client to verify the endpoint's hostname against it's identification information.</font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD><TD align="center" valign="center"><font size="1PT">
+	</font></TD><TD align="left" valign="center"><font size="1PT">Set the hostname verifier to be used by the client to verify the endpoint's hostname against its identification information.</font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD><TD align="center" valign="center"><font size="1PT">
 <br>
 </font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD>
 </TR>
diff --git a/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_3.1.0.xml b/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_3.1.0.xml
index d034b92..4f60969 100644
--- a/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_3.1.0.xml
+++ b/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_3.1.0.xml
@@ -3351,7 +3351,7 @@
     </assertion>
     <assertion required="true" impl-spec="false" status="active" testable="true">
       <id>409</id>
-      <description>Close client instance and all it's associated resources. Subsequent calls have no effect and are ignored. Once the client is closed, invoking any other method on the client instance would result in an IllegalStateException being thrown. Calling this method effectively invalidates all WebTarget resource targets produced by the client instance. Invoking any method on such targets once the client is closed would result in an IllegalStateException being thrown.</description>
+      <description>Close client instance and all its associated resources. Subsequent calls have no effect and are ignored. Once the client is closed, invoking any other method on the client instance would result in an IllegalStateException being thrown. Calling this method effectively invalidates all WebTarget resource targets produced by the client instance. Invoking any method on such targets once the client is closed would result in an IllegalStateException being thrown.</description>
       <package>jakarta.ws.rs.client</package>
       <class-interface>Client</class-interface>
       <method name="close" return-type="void" />
@@ -5074,7 +5074,7 @@
     </assertion>
     <assertion required="true" impl-spec="false" status="active" testable="true">
       <id>725</id>
-      <description>Invoked when the suspended asynchronous response is about to time out. Implementing time-out handlers may use the callback method to change the default time-out strategy defined by JAX-RS specification (see jakarta.ws.rs.container.AsyncResponse API documentation). A custom time-out handler may decide to either resume the suspended response using one of it's resume(...) methods, cancel the suspended response using one of it's cancel(...) methods, or extend the suspend period by AsyncResponse#setTimeout(long, java.util.concurrent.TimeUnit) setting a new suspend time-out In case the time-out handler does not take any of the actions mentioned above, a default time-out strategy is executed by the JAX-RS runtime.</description>
+      <description>Invoked when the suspended asynchronous response is about to time out. Implementing time-out handlers may use the callback method to change the default time-out strategy defined by JAX-RS specification (see jakarta.ws.rs.container.AsyncResponse API documentation). A custom time-out handler may decide to either resume the suspended response using one of its resume(...) methods, cancel the suspended response using one of its cancel(...) methods, or extend the suspend period by AsyncResponse#setTimeout(long, java.util.concurrent.TimeUnit) setting a new suspend time-out In case the time-out handler does not take any of the actions mentioned above, a default time-out strategy is executed by the JAX-RS runtime.</description>
       <package>jakarta.ws.rs.container</package>
       <class-interface>TimeoutHandler</class-interface>
       <method name="handleTimeout" return-type="void">
@@ -7177,7 +7177,7 @@
     </assertion>
     <assertion required="true" impl-spec="false" status="active" testable="true">
       <id>1015</id>
-      <description>Set the hostname verifier to be used by the client to verify the endpoint's hostname against it's identification information.</description>
+      <description>Set the hostname verifier to be used by the client to verify the endpoint's hostname against its identification information.</description>
       <package>jakarta.ws.rs.client</package>
       <class-interface>ClientBuilder</class-interface>
       <method name="hostnameVerifier" return-type="jakarta.ws.rs.client.ClientBuilder">
diff --git a/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_4.0.0.html b/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_4.0.0.html
index ff7ff70..5aed2ab 100644
--- a/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_4.0.0.html
+++ b/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_4.0.0.html
@@ -3064,7 +3064,7 @@
 </TR>
 <TR>
 <TD align="center" valign="center"><a name="JAXRS:JAVADOC:409"></a><font size="1PT">JAXRS:JAVADOC:409</font></TD><TD align="center" valign="center"><font size="1PT">void</font></TD><TD align="left" valign="center"><font size="1PT">jakarta.ws.rs.client.Client.close<br>
-</font></TD><TD align="left" valign="center"><font size="1PT">Close client instance and all it's associated resources. Subsequent calls have no effect and are ignored. Once the client is closed, invoking any other method on the client instance would result in an IllegalStateException being thrown. Calling this method effectively invalidates all WebTarget resource targets produced by the client instance. Invoking any method on such targets once the client is closed would result in an IllegalStateException being thrown.</font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD><TD align="center" valign="center"><font size="1PT">
+</font></TD><TD align="left" valign="center"><font size="1PT">Close client instance and all its associated resources. Subsequent calls have no effect and are ignored. Once the client is closed, invoking any other method on the client instance would result in an IllegalStateException being thrown. Calling this method effectively invalidates all WebTarget resource targets produced by the client instance. Invoking any method on such targets once the client is closed would result in an IllegalStateException being thrown.</font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD><TD align="center" valign="center"><font size="1PT">
 <br>
 </font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD>
 </TR>
@@ -4589,7 +4589,7 @@
 	(
 		AsyncResponse
 	)
-	</font></TD><TD align="left" valign="center"><font size="1PT">Invoked when the suspended asynchronous response is about to time out. Implementing time-out handlers may use the callback method to change the default time-out strategy defined by JAX-RS specification (see jakarta.ws.rs.container.AsyncResponse API documentation). A custom time-out handler may decide to either resume the suspended response using one of it's resume(...) methods, cancel the suspended response using one of it's cancel(...) methods, or extend the suspend period by AsyncResponse#setTimeout(long, java.util.concurrent.TimeUnit) setting a new suspend time-out In case the time-out handler does not take any of the actions mentioned above, a default time-out strategy is executed by the JAX-RS runtime.</font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD><TD align="center" valign="center"><font size="1PT">
+	</font></TD><TD align="left" valign="center"><font size="1PT">Invoked when the suspended asynchronous response is about to time out. Implementing time-out handlers may use the callback method to change the default time-out strategy defined by JAX-RS specification (see jakarta.ws.rs.container.AsyncResponse API documentation). A custom time-out handler may decide to either resume the suspended response using one of its resume(...) methods, cancel the suspended response using one of its cancel(...) methods, or extend the suspend period by AsyncResponse#setTimeout(long, java.util.concurrent.TimeUnit) setting a new suspend time-out In case the time-out handler does not take any of the actions mentioned above, a default time-out strategy is executed by the JAX-RS runtime.</font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD><TD align="center" valign="center"><font size="1PT">
 <br>
 </font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD>
 </TR>
@@ -6508,7 +6508,7 @@
 	(
 		HostnameVerifier
 	)
-	</font></TD><TD align="left" valign="center"><font size="1PT">Set the hostname verifier to be used by the client to verify the endpoint's hostname against it's identification information.</font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD><TD align="center" valign="center"><font size="1PT">
+	</font></TD><TD align="left" valign="center"><font size="1PT">Set the hostname verifier to be used by the client to verify the endpoint's hostname against its identification information.</font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD><TD align="center" valign="center"><font size="1PT">
 <br>
 </font></TD><TD align="center" valign="center"><font size="1PT">true</font></TD>
 </TR>
diff --git a/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_4.0.0.xml b/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_4.0.0.xml
index fa878a1..f71f9bf 100644
--- a/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_4.0.0.xml
+++ b/jaxrs-tck/docs/assertions/JAXRSJavadocAssertions_4.0.0.xml
@@ -3351,7 +3351,7 @@
     </assertion>
     <assertion required="true" impl-spec="false" status="active" testable="true">
       <id>409</id>
-      <description>Close client instance and all it's associated resources. Subsequent calls have no effect and are ignored. Once the client is closed, invoking any other method on the client instance would result in an IllegalStateException being thrown. Calling this method effectively invalidates all WebTarget resource targets produced by the client instance. Invoking any method on such targets once the client is closed would result in an IllegalStateException being thrown.</description>
+      <description>Close client instance and all its associated resources. Subsequent calls have no effect and are ignored. Once the client is closed, invoking any other method on the client instance would result in an IllegalStateException being thrown. Calling this method effectively invalidates all WebTarget resource targets produced by the client instance. Invoking any method on such targets once the client is closed would result in an IllegalStateException being thrown.</description>
       <package>jakarta.ws.rs.client</package>
       <class-interface>Client</class-interface>
       <method name="close" return-type="void" />
@@ -5052,7 +5052,7 @@
     </assertion>
     <assertion required="true" impl-spec="false" status="active" testable="true">
       <id>725</id>
-      <description>Invoked when the suspended asynchronous response is about to time out. Implementing time-out handlers may use the callback method to change the default time-out strategy defined by JAX-RS specification (see jakarta.ws.rs.container.AsyncResponse API documentation). A custom time-out handler may decide to either resume the suspended response using one of it's resume(...) methods, cancel the suspended response using one of it's cancel(...) methods, or extend the suspend period by AsyncResponse#setTimeout(long, java.util.concurrent.TimeUnit) setting a new suspend time-out In case the time-out handler does not take any of the actions mentioned above, a default time-out strategy is executed by the JAX-RS runtime.</description>
+      <description>Invoked when the suspended asynchronous response is about to time out. Implementing time-out handlers may use the callback method to change the default time-out strategy defined by JAX-RS specification (see jakarta.ws.rs.container.AsyncResponse API documentation). A custom time-out handler may decide to either resume the suspended response using one of its resume(...) methods, cancel the suspended response using one of its cancel(...) methods, or extend the suspend period by AsyncResponse#setTimeout(long, java.util.concurrent.TimeUnit) setting a new suspend time-out In case the time-out handler does not take any of the actions mentioned above, a default time-out strategy is executed by the JAX-RS runtime.</description>
       <package>jakarta.ws.rs.container</package>
       <class-interface>TimeoutHandler</class-interface>
       <method name="handleTimeout" return-type="void">
@@ -7126,7 +7126,7 @@
     </assertion>
     <assertion required="true" impl-spec="false" status="active" testable="true">
       <id>1015</id>
-      <description>Set the hostname verifier to be used by the client to verify the endpoint's hostname against it's identification information.</description>
+      <description>Set the hostname verifier to be used by the client to verify the endpoint's hostname against its identification information.</description>
       <package>jakarta.ws.rs.client</package>
       <class-interface>ClientBuilder</class-interface>
       <method name="hostnameVerifier" return-type="jakarta.ws.rs.client.ClientBuilder">
diff --git a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/client/client/JAXRSClientIT.java b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/client/client/JAXRSClientIT.java
index fc465fe..cc721d3 100644
--- a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/client/client/JAXRSClientIT.java
+++ b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/client/client/JAXRSClientIT.java
@@ -73,7 +73,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -92,7 +92,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -112,7 +112,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -132,7 +132,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -151,7 +151,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -171,7 +171,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -191,7 +191,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -211,7 +211,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -232,7 +232,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -252,7 +252,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -274,7 +274,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -295,7 +295,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -315,7 +315,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -337,7 +337,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -358,7 +358,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalTStateException being thrown. Calling this method effectively
@@ -379,7 +379,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -398,7 +398,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -417,7 +417,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -436,7 +436,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -456,7 +456,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -475,7 +475,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -495,7 +495,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -515,7 +515,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -535,7 +535,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -556,7 +556,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -576,7 +576,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -598,7 +598,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -619,7 +619,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -639,7 +639,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -661,7 +661,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -680,7 +680,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -700,7 +700,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -720,7 +720,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -740,7 +740,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -761,7 +761,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -781,7 +781,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -802,7 +802,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -823,7 +823,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
@@ -844,7 +844,7 @@
    * 
    * @assertion_ids: JAXRS:JAVADOC:409;
    * 
-   * @test_Strategy: Close client instance and all it's associated resources.
+   * @test_Strategy: Close client instance and all its associated resources.
    * Subsequent calls have no effect and are ignored. Once the client is closed,
    * invoking any other method on the client instance would result in an
    * IllegalStateException being thrown. Calling this method effectively
diff --git a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/rs/core/configurable/JAXRSClientIT.java b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/rs/core/configurable/JAXRSClientIT.java
index ddc3abb..b889875 100644
--- a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/rs/core/configurable/JAXRSClientIT.java
+++ b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/api/rs/core/configurable/JAXRSClientIT.java
@@ -136,7 +136,7 @@
      * 
      * @test_Strategy: Register a feature. In case the registered provider is a
      * client-side Feature feature, this object instantiates the feature and invokes
-     * the Feature#configure(FeatureContext) method and lets the feature update it's
+     * the Feature#configure(FeatureContext) method and lets the feature update its
      * internal configuration state.
      */
     @Test
diff --git a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/common/client/JaxrsCommonClient.java b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/common/client/JaxrsCommonClient.java
index bd85119..3824c09 100644
--- a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/common/client/JaxrsCommonClient.java
+++ b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/common/client/JaxrsCommonClient.java
@@ -232,7 +232,7 @@
     super.cleanup();
     // The client.close has to be called on cleanup, because after invoke,
     // some methods are called and resources might not be available then
-    // (javadoc: Close client instance and all it's associated resources).
+    // (javadoc: Close client instance and all its associated resources).
     // Since more invoke() invocations are possible, the clients are stored
     // in a list to be closed on cleanup
     for (Client c : clients)
diff --git a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/signaturetest/PackageList.java b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/signaturetest/PackageList.java
index 231b1f1..d270bc2 100644
--- a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/signaturetest/PackageList.java
+++ b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/signaturetest/PackageList.java
@@ -83,7 +83,7 @@
 
   /**
    * Creates an instance of the PackageList class. The PackageList instance
-   * reads the specified package file and populates it's internal state with the
+   * reads the specified package file and populates its internal state with the
    * package names found in this file. Users should use this c'tor when playing
    * back signature files. Users can init the PackageList instance then use the
    * "String[] getSubPackages(String packageName)" method to get the list of
@@ -110,7 +110,7 @@
 
   /**
    * Creates an instance of the PackageList class. The PackageList instance
-   * reads the contents of the packageFileName and stores it in it's internal
+   * reads the contents of the packageFileName and stores it in its internal
    * state. Next, any packages whos name starts with the specified packageName
    * are removed from the internal package list. This is done because this is
    * the package being recorded and we need to remove any previously recorded
diff --git a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/signaturetest/jaxrs/JAXRSSigTestIT.java b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/signaturetest/jaxrs/JAXRSSigTestIT.java
index 615791f..122ff98 100644
--- a/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/signaturetest/jaxrs/JAXRSSigTestIT.java
+++ b/jaxrs-tck/src/main/java/ee/jakarta/tck/ws/rs/signaturetest/jaxrs/JAXRSSigTestIT.java
@@ -94,7 +94,7 @@
   /***** Abstract Method Implementation *****/
   /**
    * Returns a list of strings where each string represents a package name. Each
-   * package name will have it's signature tested by the signature test
+   * package name will have its signature tested by the signature test
    * framework.
    * 
    * @return String[] The names of the packages whose signatures should be
@@ -169,7 +169,7 @@
 
   /**
    * Returns a list of strings where each string represents a package name. Each
-   * package name will have it's signature tested by the signature test
+   * package name will have its signature tested by the signature test
    * framework.
    * 
    * @param vehicleName
