code: @Nonnull
    public static Charset getCharsetFromName (@Nonnull @Nonempty final String sCharsetName)
    {
      ValueEnforcer.notNull (sCharsetName, "CharsetName");
      try
      {
        return Charset.forName (sCharsetName);
      }
      catch (final IllegalCharsetNameException ex)
      {
        // Not supported in any version
        throw new IllegalArgumentException ("Charset '" + sCharsetName + "' unsupported in Java", ex);
      }
      catch (final UnsupportedCharsetException ex)
      {
        // Unsupported on this platform
        throw new IllegalArgumentException ("Charset '" + sCharsetName + "' unsupported on this platform", ex);
      }
    }
docs: Resolve the charset by the specified name. The difference to
  {@link Charset#forName(String)} is, that this method has no checked
  exceptions but only unchecked exceptions.
  
  @param sCharsetName
  The charset to be resolved. May neither be <code>null</code> nor
  empty.
  @return The Charset object
  @throws IllegalArgumentException
  If the charset could not be resolved.