/**
  * Constructs a new <code>String</code> by decoding the specified array of bytes using the given
  * charset.
  *
  * <p>This method catches {@link UnsupportedEncodingException} and re-throws it as {@link
  * IllegalStateException}, which should never happen for a required charset name. Use this method
  * when the encoding is required to be in the JRE.
  *
  * @param bytes The bytes to be decoded into characters
  * @param charsetName The name of a required {@link java.nio.charset.Charset}
  * @return A new <code>String</code> decoded from the specified array of bytes using the given
  *     charset.
  * @throws IllegalStateException Thrown when a {@link UnsupportedEncodingException} is caught,
  *     which should never happen for a required charset name.
  * @see CharEncoding
  * @see String#String(byte[], String)
  */
 public static String newString(byte[] bytes, String charsetName) {
   if (bytes == null) {
     return null;
   }
   try {
     return new String(bytes, charsetName);
   } catch (UnsupportedEncodingException e) {
     throw StringUtils.newIllegalStateException(charsetName, e);
   }
 }
 /**
  * Encodes the given string into a sequence of bytes using the named charset, storing the result
  * into a new byte array.
  *
  * <p>This method catches {@link UnsupportedEncodingException} and rethrows it as {@link
  * IllegalStateException}, which should never happen for a required charset name. Use this method
  * when the encoding is required to be in the JRE.
  *
  * @param string the String to encode
  * @param charsetName The name of a required {@link java.nio.charset.Charset}
  * @return encoded bytes
  * @throws IllegalStateException Thrown when a {@link UnsupportedEncodingException} is caught,
  *     which should never happen for a required charset name.
  * @see CharEncoding
  * @see String#getBytes(String)
  */
 public static byte[] getBytesUnchecked(String string, String charsetName) {
   if (string == null) {
     return null;
   }
   try {
     return string.getBytes(charsetName);
   } catch (UnsupportedEncodingException e) {
     throw StringUtils.newIllegalStateException(charsetName, e);
   }
 }