New method MediaType.getCharsetParameter() returns charset instance or null
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/core/MediaType.java b/jaxrs-api/src/main/java/jakarta/ws/rs/core/MediaType.java
index 42d5069..3708221 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/core/MediaType.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/core/MediaType.java
@@ -16,6 +16,8 @@
 
 package jakarta.ws.rs.core;
 
+import java.nio.charset.Charset;
+import java.nio.charset.UnsupportedCharsetException;
 import java.util.Collections;
 import java.util.Map;
 import java.util.Objects;
@@ -307,6 +309,19 @@
     }
 
     /**
+     * Getter for the media type {@code charset} parameter value.
+     *
+     * @return charset built from the {@value #CHARSET_PARAMETER} parameter value. {@code null} if the parameter
+     * is {@code null}, empty or blank.
+     * @throws UnsupportedCharsetException if the charset from the {@value #CHARSET_PARAMETER} parameter value
+     * is not supported.
+     */
+    public Charset getCharsetParameter() throws UnsupportedCharsetException {
+        final var charset = parameters.get(CHARSET_PARAMETER);
+        return charset == null || charset.isEmpty() ? null : Charset.forName(charset);
+    }
+
+    /**
      * Create a new {@code MediaType} instance with the same type, subtype and parameters copied from the original instance
      * and the supplied {@value #CHARSET_PARAMETER} parameter.
      *
diff --git a/jaxrs-api/src/test/java/jakarta/ws/rs/core/MediaTypeTest.java b/jaxrs-api/src/test/java/jakarta/ws/rs/core/MediaTypeTest.java
index b042cae..e9a8ced 100644
--- a/jaxrs-api/src/test/java/jakarta/ws/rs/core/MediaTypeTest.java
+++ b/jaxrs-api/src/test/java/jakarta/ws/rs/core/MediaTypeTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,12 +19,16 @@
 import static org.hamcrest.CoreMatchers.not;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import org.hamcrest.Description;
 import org.hamcrest.DiagnosingMatcher;
 import org.hamcrest.Matcher;
 import org.junit.jupiter.api.Test;
 
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+import java.nio.charset.UnsupportedCharsetException;
 import java.util.Map;
 
 /**
@@ -35,6 +39,22 @@
 public class MediaTypeTest {
 
     /**
+     * Test {@link MediaType#getCharsetParameter()} method.
+     */
+    @Test
+    public void testGetCharsetParameter() {
+        assertEquals(StandardCharsets.UTF_8,
+                MediaType.APPLICATION_XML_TYPE.withCharset("UTF-8")
+                        .getCharsetParameter(),
+                "Unexpected produced media type charset parameter.");
+        try {
+            MediaType.APPLICATION_XML_TYPE.withCharset("UTF-8").withCharset("unsupported-charset")
+                    .getCharsetParameter();
+            fail("Unexpected produced media type charset parameter.");
+        } catch (final UnsupportedCharsetException expectedException) {}
+    }
+
+    /**
      * Test {@link MediaType#withCharset(String)} method.
      */
     @Test