class java.lang.StringCoding
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.lang.StringCoding
  super_class: java.lang.Object
{
  private static java.lang.ThreadLocal decoder;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.ThreadLocal encoder;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean warnUnsupportedCharset;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 58
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putstatic java.lang.StringCoding.decoder:Ljava/lang/ThreadLocal;
         1: .line 59
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putstatic java.lang.StringCoding.encoder:Ljava/lang/ThreadLocal;
         2: .line 61
            iconst_1
            putstatic java.lang.StringCoding.warnUnsupportedCharset:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.StringCoding this
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // java.lang.StringCoding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/StringCoding;

  private static java.lang.Object deref(java.lang.ThreadLocal);
    descriptor: (Ljava/lang/ThreadLocal;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.ThreadLocal tl
         0: .line 64
            aload 0 /* tl */
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.lang.ref.SoftReference
            astore 1 /* sr */
        start local 1 // java.lang.ref.SoftReference sr
         1: .line 65
            aload 1 /* sr */
            ifnonnull 3
         2: .line 66
            aconst_null
            areturn
         3: .line 67
      StackMap locals: java.lang.ref.SoftReference
      StackMap stack:
            aload 1 /* sr */
            invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
            areturn
        end local 1 // java.lang.ref.SoftReference sr
        end local 0 // java.lang.ThreadLocal tl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0    tl  Ljava/lang/ThreadLocal;
            1    4     1    sr  Ljava/lang/ref/SoftReference;
    MethodParameters:
      Name  Flags
      tl    

  private static void set(java.lang.ThreadLocal, java.lang.Object);
    descriptor: (Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.ThreadLocal tl
        start local 1 // java.lang.Object ob
         0: .line 71
            aload 0 /* tl */
            new java.lang.ref.SoftReference
            dup
            aload 1 /* ob */
            invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         1: .line 72
            return
        end local 1 // java.lang.Object ob
        end local 0 // java.lang.ThreadLocal tl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    tl  Ljava/lang/ThreadLocal;
            0    2     1    ob  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      tl    
      ob    

  private static byte[] safeTrim(byte[], int, java.nio.charset.Charset);
    descriptor: ([BILjava/nio/charset/Charset;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // byte[] ba
        start local 1 // int len
        start local 2 // java.nio.charset.Charset cs
         0: .line 77
            iload 1 /* len */
            aload 0 /* ba */
            arraylength
            if_icmpne 4
         1: .line 78
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnull 3
         2: .line 79
            aload 2 /* cs */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
            ifnonnull 4
         3: .line 80
      StackMap locals:
      StackMap stack:
            aload 0 /* ba */
            areturn
         4: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* ba */
            iload 1 /* len */
            invokestatic java.util.Arrays.copyOf:([BI)[B
            areturn
        end local 2 // java.nio.charset.Charset cs
        end local 1 // int len
        end local 0 // byte[] ba
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    ba  [B
            0    5     1   len  I
            0    5     2    cs  Ljava/nio/charset/Charset;
    MethodParameters:
      Name  Flags
      ba    
      len   
      cs    

  private static char[] safeTrim(char[], int, java.nio.charset.Charset);
    descriptor: ([CILjava/nio/charset/Charset;)[C
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // char[] ca
        start local 1 // int len
        start local 2 // java.nio.charset.Charset cs
         0: .line 88
            iload 1 /* len */
            aload 0 /* ca */
            arraylength
            if_icmpne 4
         1: .line 89
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnull 3
         2: .line 90
            aload 2 /* cs */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
            ifnonnull 4
         3: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* ca */
            areturn
         4: .line 93
      StackMap locals:
      StackMap stack:
            aload 0 /* ca */
            iload 1 /* len */
            invokestatic java.util.Arrays.copyOf:([CI)[C
            areturn
        end local 2 // java.nio.charset.Charset cs
        end local 1 // int len
        end local 0 // char[] ca
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    ca  [C
            0    5     1   len  I
            0    5     2    cs  Ljava/nio/charset/Charset;
    MethodParameters:
      Name  Flags
      ca    
      len   
      cs    

  private static int scale(int, float);
    descriptor: (IF)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // int len
        start local 1 // float expansionFactor
         0: .line 99
            iload 0 /* len */
            i2d
            fload 1 /* expansionFactor */
            f2d
            dmul
            d2i
            ireturn
        end local 1 // float expansionFactor
        end local 0 // int len
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0              len  I
            0    1     1  expansionFactor  F
    MethodParameters:
                 Name  Flags
      len              
      expansionFactor  

  private static java.nio.charset.Charset lookupCharset(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/nio/charset/Charset;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String csn
         0: .line 103
            aload 0 /* csn */
            invokestatic java.nio.charset.Charset.isSupported:(Ljava/lang/String;)Z
            ifeq 5
         1: .line 105
            aload 0 /* csn */
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
         2: areturn
         3: .line 106
      StackMap locals:
      StackMap stack: java.nio.charset.UnsupportedCharsetException
            astore 1 /* x */
        start local 1 // java.nio.charset.UnsupportedCharsetException x
         4: .line 107
            new java.lang.Error
            dup
            aload 1 /* x */
            invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.nio.charset.UnsupportedCharsetException x
         5: .line 110
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.String csn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0   csn  Ljava/lang/String;
            4    5     1     x  Ljava/nio/charset/UnsupportedCharsetException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.nio.charset.UnsupportedCharsetException
    MethodParameters:
      Name  Flags
      csn   

  private static void warnUnsupportedCharset(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String csn
         0: .line 114
            getstatic java.lang.StringCoding.warnUnsupportedCharset:Z
            ifeq 5
         1: .line 118
            new java.lang.StringBuilder
            dup
            ldc "WARNING: Default charset "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* csn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 119
            ldc " not supported, using ISO-8859-1 instead"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 118
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.MessageUtils.err:(Ljava/lang/String;)V
         4: .line 120
            iconst_0
            putstatic java.lang.StringCoding.warnUnsupportedCharset:Z
         5: .line 122
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String csn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0   csn  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      csn   

  static char[] decode(java.lang.String, byte[], int, int);
    descriptor: (Ljava/lang/String;[BII)[C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // java.lang.String charsetName
        start local 1 // byte[] ba
        start local 2 // int off
        start local 3 // int len
         0: .line 177
            getstatic java.lang.StringCoding.decoder:Ljava/lang/ThreadLocal;
            invokestatic java.lang.StringCoding.deref:(Ljava/lang/ThreadLocal;)Ljava/lang/Object;
            checkcast java.lang.StringCoding$StringDecoder
            astore 4 /* sd */
        start local 4 // java.lang.StringCoding$StringDecoder sd
         1: .line 178
            aload 0 /* charsetName */
            ifnonnull 2
            ldc "ISO-8859-1"
            goto 3
      StackMap locals: java.lang.StringCoding$StringDecoder
      StackMap stack:
         2: aload 0 /* charsetName */
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 5 /* csn */
        start local 5 // java.lang.String csn
         4: .line 179
            aload 4 /* sd */
            ifnull 6
            aload 5 /* csn */
            aload 4 /* sd */
            invokevirtual java.lang.StringCoding$StringDecoder.requestedCharsetName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
         5: .line 180
            aload 5 /* csn */
            aload 4 /* sd */
            invokevirtual java.lang.StringCoding$StringDecoder.charsetName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
         6: .line 181
      StackMap locals: java.lang.String
      StackMap stack:
            aconst_null
            astore 4 /* sd */
         7: .line 183
            aload 5 /* csn */
            invokestatic java.lang.StringCoding.lookupCharset:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            astore 6 /* cs */
        start local 6 // java.nio.charset.Charset cs
         8: .line 184
            aload 6 /* cs */
            ifnull 12
         9: .line 185
            new java.lang.StringCoding$StringDecoder
            dup
            aload 6 /* cs */
            aload 5 /* csn */
            invokespecial java.lang.StringCoding$StringDecoder.<init>:(Ljava/nio/charset/Charset;Ljava/lang/String;)V
            astore 4 /* sd */
        end local 6 // java.nio.charset.Charset cs
        10: .line 186
            goto 12
      StackMap locals:
      StackMap stack: java.nio.charset.IllegalCharsetNameException
        11: pop
        12: .line 187
      StackMap locals:
      StackMap stack:
            aload 4 /* sd */
            ifnonnull 14
        13: .line 188
            new java.io.UnsupportedEncodingException
            dup
            aload 5 /* csn */
            invokespecial java.io.UnsupportedEncodingException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 189
      StackMap locals:
      StackMap stack:
            getstatic java.lang.StringCoding.decoder:Ljava/lang/ThreadLocal;
            aload 4 /* sd */
            invokestatic java.lang.StringCoding.set:(Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
        15: .line 191
      StackMap locals:
      StackMap stack:
            aload 4 /* sd */
            aload 1 /* ba */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual java.lang.StringCoding$StringDecoder.decode:([BII)[C
            areturn
        end local 5 // java.lang.String csn
        end local 4 // java.lang.StringCoding$StringDecoder sd
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] ba
        end local 0 // java.lang.String charsetName
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0  charsetName  Ljava/lang/String;
            0   16     1           ba  [B
            0   16     2          off  I
            0   16     3          len  I
            1   16     4           sd  Ljava/lang/StringCoding$StringDecoder;
            4   16     5          csn  Ljava/lang/String;
            8   10     6           cs  Ljava/nio/charset/Charset;
      Exception table:
        from    to  target  type
           7    10      11  Class java.nio.charset.IllegalCharsetNameException
    Exceptions:
      throws java.io.UnsupportedEncodingException
    MethodParameters:
             Name  Flags
      charsetName  
      ba           
      off          
      len          

  static char[] decode(java.nio.charset.Charset, byte[], int, int);
    descriptor: (Ljava/nio/charset/Charset;[BII)[C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.nio.charset.Charset cs
        start local 1 // byte[] ba
        start local 2 // int off
        start local 3 // int len
         0: .line 195
            new java.lang.StringCoding$StringDecoder
            dup
            aload 0 /* cs */
            aload 0 /* cs */
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            invokespecial java.lang.StringCoding$StringDecoder.<init>:(Ljava/nio/charset/Charset;Ljava/lang/String;)V
            astore 4 /* sd */
        start local 4 // java.lang.StringCoding$StringDecoder sd
         1: .line 196
            aload 4 /* sd */
            aload 1 /* ba */
            iload 2 /* off */
            iload 2 /* off */
            iload 3 /* len */
            iadd
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            iconst_0
            iload 3 /* len */
            invokevirtual java.lang.StringCoding$StringDecoder.decode:([BII)[C
            areturn
        end local 4 // java.lang.StringCoding$StringDecoder sd
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] ba
        end local 0 // java.nio.charset.Charset cs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    cs  Ljava/nio/charset/Charset;
            0    2     1    ba  [B
            0    2     2   off  I
            0    2     3   len  I
            1    2     4    sd  Ljava/lang/StringCoding$StringDecoder;
    MethodParameters:
      Name  Flags
      cs    
      ba    
      off   
      len   

  static char[] decode(byte[], int, int);
    descriptor: ([BII)[C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // byte[] ba
        start local 1 // int off
        start local 2 // int len
         0: .line 200
            invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            astore 3 /* csn */
        start local 3 // java.lang.String csn
         1: .line 202
            aload 3 /* csn */
            aload 0 /* ba */
            iload 1 /* off */
            iload 2 /* len */
            invokestatic java.lang.StringCoding.decode:(Ljava/lang/String;[BII)[C
         2: areturn
         3: .line 203
      StackMap locals: byte[] int int java.lang.String
      StackMap stack: java.io.UnsupportedEncodingException
            pop
         4: .line 204
            aload 3 /* csn */
            invokestatic java.lang.StringCoding.warnUnsupportedCharset:(Ljava/lang/String;)V
         5: .line 207
            ldc "ISO-8859-1"
            aload 0 /* ba */
            iload 1 /* off */
            iload 2 /* len */
            invokestatic java.lang.StringCoding.decode:(Ljava/lang/String;[BII)[C
         6: areturn
         7: .line 208
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
            astore 4 /* x */
        start local 4 // java.io.UnsupportedEncodingException x
         8: .line 211
            new java.lang.StringBuilder
            dup
            ldc "ISO-8859-1 charset not available: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 212
            aload 4 /* x */
            invokevirtual java.io.UnsupportedEncodingException.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 211
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.MessageUtils.err:(Ljava/lang/String;)V
        11: .line 215
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        12: .line 216
            aconst_null
            areturn
        end local 4 // java.io.UnsupportedEncodingException x
        end local 3 // java.lang.String csn
        end local 2 // int len
        end local 1 // int off
        end local 0 // byte[] ba
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0    ba  [B
            0   13     1   off  I
            0   13     2   len  I
            1   13     3   csn  Ljava/lang/String;
            8   13     4     x  Ljava/io/UnsupportedEncodingException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.UnsupportedEncodingException
           5     6       7  Class java.io.UnsupportedEncodingException
    MethodParameters:
      Name  Flags
      ba    
      off   
      len   

  static byte[] encode(java.lang.String, char[], int, int);
    descriptor: (Ljava/lang/String;[CII)[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // java.lang.String charsetName
        start local 1 // char[] ca
        start local 2 // int off
        start local 3 // int len
         0: .line 275
            getstatic java.lang.StringCoding.encoder:Ljava/lang/ThreadLocal;
            invokestatic java.lang.StringCoding.deref:(Ljava/lang/ThreadLocal;)Ljava/lang/Object;
            checkcast java.lang.StringCoding$StringEncoder
            astore 4 /* se */
        start local 4 // java.lang.StringCoding$StringEncoder se
         1: .line 276
            aload 0 /* charsetName */
            ifnonnull 2
            ldc "ISO-8859-1"
            goto 3
      StackMap locals: java.lang.StringCoding$StringEncoder
      StackMap stack:
         2: aload 0 /* charsetName */
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 5 /* csn */
        start local 5 // java.lang.String csn
         4: .line 277
            aload 4 /* se */
            ifnull 6
            aload 5 /* csn */
            aload 4 /* se */
            invokevirtual java.lang.StringCoding$StringEncoder.requestedCharsetName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
         5: .line 278
            aload 5 /* csn */
            aload 4 /* se */
            invokevirtual java.lang.StringCoding$StringEncoder.charsetName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
         6: .line 279
      StackMap locals: java.lang.String
      StackMap stack:
            aconst_null
            astore 4 /* se */
         7: .line 281
            aload 5 /* csn */
            invokestatic java.lang.StringCoding.lookupCharset:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            astore 6 /* cs */
        start local 6 // java.nio.charset.Charset cs
         8: .line 282
            aload 6 /* cs */
            ifnull 12
         9: .line 283
            new java.lang.StringCoding$StringEncoder
            dup
            aload 6 /* cs */
            aload 5 /* csn */
            invokespecial java.lang.StringCoding$StringEncoder.<init>:(Ljava/nio/charset/Charset;Ljava/lang/String;)V
            astore 4 /* se */
        end local 6 // java.nio.charset.Charset cs
        10: .line 284
            goto 12
      StackMap locals:
      StackMap stack: java.nio.charset.IllegalCharsetNameException
        11: pop
        12: .line 285
      StackMap locals:
      StackMap stack:
            aload 4 /* se */
            ifnonnull 14
        13: .line 286
            new java.io.UnsupportedEncodingException
            dup
            aload 5 /* csn */
            invokespecial java.io.UnsupportedEncodingException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 287
      StackMap locals:
      StackMap stack:
            getstatic java.lang.StringCoding.encoder:Ljava/lang/ThreadLocal;
            aload 4 /* se */
            invokestatic java.lang.StringCoding.set:(Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
        15: .line 289
      StackMap locals:
      StackMap stack:
            aload 4 /* se */
            aload 1 /* ca */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual java.lang.StringCoding$StringEncoder.encode:([CII)[B
            areturn
        end local 5 // java.lang.String csn
        end local 4 // java.lang.StringCoding$StringEncoder se
        end local 3 // int len
        end local 2 // int off
        end local 1 // char[] ca
        end local 0 // java.lang.String charsetName
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0  charsetName  Ljava/lang/String;
            0   16     1           ca  [C
            0   16     2          off  I
            0   16     3          len  I
            1   16     4           se  Ljava/lang/StringCoding$StringEncoder;
            4   16     5          csn  Ljava/lang/String;
            8   10     6           cs  Ljava/nio/charset/Charset;
      Exception table:
        from    to  target  type
           7    10      11  Class java.nio.charset.IllegalCharsetNameException
    Exceptions:
      throws java.io.UnsupportedEncodingException
    MethodParameters:
             Name  Flags
      charsetName  
      ca           
      off          
      len          

  static byte[] encode(java.nio.charset.Charset, char[], int, int);
    descriptor: (Ljava/nio/charset/Charset;[CII)[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.nio.charset.Charset cs
        start local 1 // char[] ca
        start local 2 // int off
        start local 3 // int len
         0: .line 293
            new java.lang.StringCoding$StringEncoder
            dup
            aload 0 /* cs */
            aload 0 /* cs */
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            invokespecial java.lang.StringCoding$StringEncoder.<init>:(Ljava/nio/charset/Charset;Ljava/lang/String;)V
            astore 4 /* se */
        start local 4 // java.lang.StringCoding$StringEncoder se
         1: .line 294
            aload 4 /* se */
            aload 1 /* ca */
            iload 2 /* off */
            iload 2 /* off */
            iload 3 /* len */
            iadd
            invokestatic java.util.Arrays.copyOfRange:([CII)[C
            iconst_0
            iload 3 /* len */
            invokevirtual java.lang.StringCoding$StringEncoder.encode:([CII)[B
            areturn
        end local 4 // java.lang.StringCoding$StringEncoder se
        end local 3 // int len
        end local 2 // int off
        end local 1 // char[] ca
        end local 0 // java.nio.charset.Charset cs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    cs  Ljava/nio/charset/Charset;
            0    2     1    ca  [C
            0    2     2   off  I
            0    2     3   len  I
            1    2     4    se  Ljava/lang/StringCoding$StringEncoder;
    MethodParameters:
      Name  Flags
      cs    
      ca    
      off   
      len   

  static byte[] encode(char[], int, int);
    descriptor: ([CII)[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // char[] ca
        start local 1 // int off
        start local 2 // int len
         0: .line 298
            invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            astore 3 /* csn */
        start local 3 // java.lang.String csn
         1: .line 300
            aload 3 /* csn */
            aload 0 /* ca */
            iload 1 /* off */
            iload 2 /* len */
            invokestatic java.lang.StringCoding.encode:(Ljava/lang/String;[CII)[B
         2: areturn
         3: .line 301
      StackMap locals: char[] int int java.lang.String
      StackMap stack: java.io.UnsupportedEncodingException
            pop
         4: .line 302
            aload 3 /* csn */
            invokestatic java.lang.StringCoding.warnUnsupportedCharset:(Ljava/lang/String;)V
         5: .line 305
            ldc "ISO-8859-1"
            aload 0 /* ca */
            iload 1 /* off */
            iload 2 /* len */
            invokestatic java.lang.StringCoding.encode:(Ljava/lang/String;[CII)[B
         6: areturn
         7: .line 306
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
            astore 4 /* x */
        start local 4 // java.io.UnsupportedEncodingException x
         8: .line 309
            new java.lang.StringBuilder
            dup
            ldc "ISO-8859-1 charset not available: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 310
            aload 4 /* x */
            invokevirtual java.io.UnsupportedEncodingException.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 309
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.MessageUtils.err:(Ljava/lang/String;)V
        11: .line 313
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        12: .line 314
            aconst_null
            areturn
        end local 4 // java.io.UnsupportedEncodingException x
        end local 3 // java.lang.String csn
        end local 2 // int len
        end local 1 // int off
        end local 0 // char[] ca
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0    ca  [C
            0   13     1   off  I
            0   13     2   len  I
            1   13     3   csn  Ljava/lang/String;
            8   13     4     x  Ljava/io/UnsupportedEncodingException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.UnsupportedEncodingException
           5     6       7  Class java.io.UnsupportedEncodingException
    MethodParameters:
      Name  Flags
      ca    
      off   
      len   
}
SourceFile: "StringCoding.java"
NestMembers:
  java.lang.StringCoding$StringDecoder  java.lang.StringCoding$StringEncoder
InnerClasses:
  private StringDecoder = java.lang.StringCoding$StringDecoder of java.lang.StringCoding
  private StringEncoder = java.lang.StringCoding$StringEncoder of java.lang.StringCoding