public static String findEncodingFor(Writer w)
    {
        if (w instanceof OutputStreamWriter) {
            String enc = ((OutputStreamWriter) w).getEncoding();
            /* [WSTX-146]: It is important that we normalize this, since
             *  older JDKs return legacy encoding names ("UTF8" instead of
             *  canonical "UTF-8")
             */
            return normalize(enc);
        }
        return null;
    }
public static String findEncodingFor ( Writer w ) { if ( w instanceof OutputStreamWriter ) { String enc = ( ( OutputStreamWriter ) w ) . getEncoding ( ) ; return normalize ( enc ) ; } return null ; }
Because of legacy encodings used by earlier JDK versions, we
need to be careful when accessing encoding names via JDK
classes.