public class org.jcodings.transcode.TranscoderDB implements org.jcodings.transcode.EConvFlags
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jcodings.transcode.TranscoderDB
  super_class: java.lang.Object
{
  public static final org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.transcode.TranscoderDB$Entry>> transcoders;
    descriptor: Lorg/jcodings/util/CaseInsensitiveBytesHash;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/transcode/TranscoderDB$Entry;>;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 74
            new org.jcodings.util.CaseInsensitiveBytesHash
            dup
            invokespecial org.jcodings.util.CaseInsensitiveBytesHash.<init>:()V
            putstatic org.jcodings.transcode.TranscoderDB.transcoders:Lorg/jcodings/util/CaseInsensitiveBytesHash;
         1: .line 314
            invokestatic org.jcodings.transcode.TranscoderList.load:()V
         2: .line 315
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jcodings.transcode.TranscoderDB this
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jcodings.transcode.TranscoderDB this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcodings/transcode/TranscoderDB;

  static org.jcodings.transcode.TranscoderDB$Entry makeEntry(byte[], byte[]);
    descriptor: ([B[B)Lorg/jcodings/transcode/TranscoderDB$Entry;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=9, locals=4, args_size=2
        start local 0 // byte[] source
        start local 1 // byte[] destination
         0: .line 78
            getstatic org.jcodings.transcode.TranscoderDB.transcoders:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            aload 0 /* source */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            checkcast org.jcodings.util.CaseInsensitiveBytesHash
            astore 2 /* sHash */
        start local 2 // org.jcodings.util.CaseInsensitiveBytesHash sHash
         1: .line 79
            aload 2 /* sHash */
            ifnonnull 4
         2: .line 80
            new org.jcodings.util.CaseInsensitiveBytesHash
            dup
            invokespecial org.jcodings.util.CaseInsensitiveBytesHash.<init>:()V
            astore 2 /* sHash */
         3: .line 81
            getstatic org.jcodings.transcode.TranscoderDB.transcoders:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            aload 0 /* source */
            aload 2 /* sHash */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.putDirect:([BLjava/lang/Object;)V
         4: .line 83
      StackMap locals: org.jcodings.util.CaseInsensitiveBytesHash
      StackMap stack:
            aload 2 /* sHash */
            aload 1 /* destination */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            checkcast org.jcodings.transcode.TranscoderDB$Entry
            astore 3 /* entry */
        start local 3 // org.jcodings.transcode.TranscoderDB$Entry entry
         5: .line 84
            aload 3 /* entry */
            ifnonnull 9
         6: .line 85
            new org.jcodings.transcode.TranscoderDB$Entry
            dup
            aload 0 /* source */
            aload 1 /* destination */
            invokespecial org.jcodings.transcode.TranscoderDB$Entry.<init>:([B[B)V
            astore 3 /* entry */
         7: .line 86
            aload 2 /* sHash */
            aload 1 /* destination */
            aload 3 /* entry */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.putDirect:([BLjava/lang/Object;)V
         8: .line 87
            goto 10
         9: .line 88
      StackMap locals: org.jcodings.transcode.TranscoderDB$Entry
      StackMap stack:
            new org.jcodings.exception.TranscoderException
            dup
            ldc "transcoder from <%n> has been already registered"
            new java.lang.String
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* source */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            new java.lang.String
            dup
            aload 1 /* destination */
            invokespecial java.lang.String.<init>:([B)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
            invokespecial org.jcodings.exception.TranscoderException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
        10: .line 91
      StackMap locals:
      StackMap stack:
            aload 3 /* entry */
            areturn
        end local 3 // org.jcodings.transcode.TranscoderDB$Entry entry
        end local 2 // org.jcodings.util.CaseInsensitiveBytesHash sHash
        end local 1 // byte[] destination
        end local 0 // byte[] source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0       source  [B
            0   11     1  destination  [B
            1   11     2        sHash  Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/transcode/TranscoderDB$Entry;>;
            5   11     3        entry  Lorg/jcodings/transcode/TranscoderDB$Entry;
    MethodParameters:
             Name  Flags
      source       
      destination  

  public static org.jcodings.transcode.TranscoderDB$Entry getEntry(byte[], byte[]);
    descriptor: ([B[B)Lorg/jcodings/transcode/TranscoderDB$Entry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // byte[] source
        start local 1 // byte[] destination
         0: .line 96
            getstatic org.jcodings.transcode.TranscoderDB.transcoders:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            aload 0 /* source */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            checkcast org.jcodings.util.CaseInsensitiveBytesHash
            astore 2 /* sHash */
        start local 2 // org.jcodings.util.CaseInsensitiveBytesHash sHash
         1: .line 97
            aload 2 /* sHash */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: org.jcodings.util.CaseInsensitiveBytesHash
      StackMap stack:
         2: aload 2 /* sHash */
            aload 1 /* destination */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            checkcast org.jcodings.transcode.TranscoderDB$Entry
      StackMap locals:
      StackMap stack: org.jcodings.transcode.TranscoderDB$Entry
         3: areturn
        end local 2 // org.jcodings.util.CaseInsensitiveBytesHash sHash
        end local 1 // byte[] destination
        end local 0 // byte[] source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0       source  [B
            0    4     1  destination  [B
            1    4     2        sHash  Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/transcode/TranscoderDB$Entry;>;
    MethodParameters:
             Name  Flags
      source       
      destination  

  static void register(org.jcodings.transcode.Transcoder);
    descriptor: (Lorg/jcodings/transcode/Transcoder;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=9, locals=2, args_size=1
        start local 0 // org.jcodings.transcode.Transcoder transcoder
         0: .line 102
            aload 0 /* transcoder */
            getfield org.jcodings.transcode.Transcoder.source:[B
            aload 0 /* transcoder */
            getfield org.jcodings.transcode.Transcoder.destination:[B
            invokestatic org.jcodings.transcode.TranscoderDB.makeEntry:([B[B)Lorg/jcodings/transcode/TranscoderDB$Entry;
            astore 1 /* entry */
        start local 1 // org.jcodings.transcode.TranscoderDB$Entry entry
         1: .line 103
            aload 1 /* entry */
            getfield org.jcodings.transcode.TranscoderDB$Entry.transcoder:Lorg/jcodings/transcode/Transcoder;
            ifnull 5
         2: .line 104
            new org.jcodings.exception.TranscoderException
            dup
            ldc "transcoder from <%n> has been already registered"
            new java.lang.String
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* transcoder */
            getfield org.jcodings.transcode.Transcoder.source:[B
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 105
            new java.lang.String
            dup
            aload 0 /* transcoder */
            getfield org.jcodings.transcode.Transcoder.destination:[B
            invokespecial java.lang.String.<init>:([B)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
         4: .line 104
            invokespecial org.jcodings.exception.TranscoderException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
         5: .line 106
      StackMap locals: org.jcodings.transcode.TranscoderDB$Entry
      StackMap stack:
            aload 1 /* entry */
            aload 0 /* transcoder */
            putfield org.jcodings.transcode.TranscoderDB$Entry.transcoder:Lorg/jcodings/transcode/Transcoder;
         6: .line 107
            return
        end local 1 // org.jcodings.transcode.TranscoderDB$Entry entry
        end local 0 // org.jcodings.transcode.Transcoder transcoder
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0  transcoder  Lorg/jcodings/transcode/Transcoder;
            1    7     1       entry  Lorg/jcodings/transcode/TranscoderDB$Entry;
    MethodParameters:
            Name  Flags
      transcoder  

  static void declare(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // java.lang.String source
        start local 1 // java.lang.String destination
        start local 2 // java.lang.String transcoderClass
         0: .line 111
            aload 0 /* source */
            invokevirtual java.lang.String.getBytes:()[B
            aload 1 /* destination */
            invokevirtual java.lang.String.getBytes:()[B
            invokestatic org.jcodings.transcode.TranscoderDB.makeEntry:([B[B)Lorg/jcodings/transcode/TranscoderDB$Entry;
            astore 3 /* entry */
        start local 3 // org.jcodings.transcode.TranscoderDB$Entry entry
         1: .line 112
            aload 3 /* entry */
            aload 2 /* transcoderClass */
            putfield org.jcodings.transcode.TranscoderDB$Entry.transcoderClass:Ljava/lang/String;
         2: .line 113
            return
        end local 3 // org.jcodings.transcode.TranscoderDB$Entry entry
        end local 2 // java.lang.String transcoderClass
        end local 1 // java.lang.String destination
        end local 0 // java.lang.String source
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0           source  Ljava/lang/String;
            0    3     1      destination  Ljava/lang/String;
            0    3     2  transcoderClass  Ljava/lang/String;
            1    3     3            entry  Lorg/jcodings/transcode/TranscoderDB$Entry;
    MethodParameters:
                 Name  Flags
      source           
      destination      
      transcoderClass  

  public static int searchPath(byte[], byte[], org.jcodings.transcode.TranscoderDB$SearchPathCallback);
    descriptor: ([B[BLorg/jcodings/transcode/TranscoderDB$SearchPathCallback;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=15, args_size=3
        start local 0 // byte[] source
        start local 1 // byte[] destination
        start local 2 // org.jcodings.transcode.TranscoderDB$SearchPathCallback callback
         0: .line 126
            aload 0 /* source */
            aload 1 /* destination */
            invokestatic org.jcodings.util.CaseInsensitiveBytesHash.caseInsensitiveEquals:([B[B)Z
            ifeq 1
            iconst_m1
            ireturn
         1: .line 128
      StackMap locals:
      StackMap stack:
            new org.jcodings.ObjPtr
            dup
            invokespecial org.jcodings.ObjPtr.<init>:()V
            astore 3 /* bfsQueue */
        start local 3 // org.jcodings.ObjPtr bfsQueue
         2: .line 129
            new org.jcodings.transcode.TranscoderDB$SearchPathQueue
            dup
            invokespecial org.jcodings.transcode.TranscoderDB$SearchPathQueue.<init>:()V
            astore 4 /* queue */
        start local 4 // org.jcodings.transcode.TranscoderDB$SearchPathQueue queue
         3: .line 130
            aload 4 /* queue */
            aload 0 /* source */
            putfield org.jcodings.transcode.TranscoderDB$SearchPathQueue.encoding:[B
         4: .line 132
            aload 4 /* queue */
            getfield org.jcodings.transcode.TranscoderDB$SearchPathQueue.next:Lorg/jcodings/ObjPtr;
            astore 5 /* bfsLastQueue */
        start local 5 // org.jcodings.ObjPtr bfsLastQueue
         5: .line 133
            aload 3 /* bfsQueue */
            aload 4 /* queue */
            putfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
         6: .line 135
            new org.jcodings.util.CaseInsensitiveBytesHash
            dup
            invokespecial org.jcodings.util.CaseInsensitiveBytesHash.<init>:()V
            astore 6 /* bfsVisited */
        start local 6 // org.jcodings.util.CaseInsensitiveBytesHash bfsVisited
         7: .line 136
            aload 6 /* bfsVisited */
            aload 0 /* source */
            getstatic org.jcodings.transcode.EConv.NULL_STRING:[B
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.put:([BLjava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 138
            goto 46
         9: .line 139
      StackMap locals: byte[] byte[] org.jcodings.transcode.TranscoderDB$SearchPathCallback org.jcodings.ObjPtr org.jcodings.transcode.TranscoderDB$SearchPathQueue org.jcodings.ObjPtr org.jcodings.util.CaseInsensitiveBytesHash
      StackMap stack:
            aload 3 /* bfsQueue */
            getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
            checkcast org.jcodings.transcode.TranscoderDB$SearchPathQueue
            astore 4 /* queue */
        10: .line 140
            aload 3 /* bfsQueue */
            aload 4 /* queue */
            getfield org.jcodings.transcode.TranscoderDB$SearchPathQueue.next:Lorg/jcodings/ObjPtr;
            getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
            checkcast org.jcodings.transcode.TranscoderDB$SearchPathQueue
            putfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
        11: .line 141
            aload 3 /* bfsQueue */
            getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
            ifnonnull 12
            aload 3 /* bfsQueue */
            astore 5 /* bfsLastQueue */
        12: .line 143
      StackMap locals:
      StackMap stack:
            getstatic org.jcodings.transcode.TranscoderDB.transcoders:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            aload 4 /* queue */
            getfield org.jcodings.transcode.TranscoderDB$SearchPathQueue.encoding:[B
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            checkcast org.jcodings.util.CaseInsensitiveBytesHash
            astore 7 /* table2 */
        start local 7 // org.jcodings.util.CaseInsensitiveBytesHash table2
        13: .line 144
            aload 7 /* table2 */
            ifnonnull 14
            goto 46
        14: .line 146
      StackMap locals: org.jcodings.util.CaseInsensitiveBytesHash
      StackMap stack:
            aload 7 /* table2 */
            aload 1 /* destination */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            checkcast org.jcodings.transcode.TranscoderDB$Entry
            astore 8 /* entry */
        start local 8 // org.jcodings.transcode.TranscoderDB$Entry entry
        15: .line 147
            aload 8 /* entry */
            ifnull 32
        16: .line 148
            aload 6 /* bfsVisited */
            aload 1 /* destination */
            aload 4 /* queue */
            getfield org.jcodings.transcode.TranscoderDB$SearchPathQueue.encoding:[B
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.put:([BLjava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 149
            aload 1 /* destination */
            astore 9 /* enc */
        start local 9 // byte[] enc
        18: .line 150
            iconst_0
            istore 11 /* pathLength */
        start local 11 // int pathLength
        19: .line 152
      StackMap locals: byte[] byte[] org.jcodings.transcode.TranscoderDB$SearchPathCallback org.jcodings.ObjPtr org.jcodings.transcode.TranscoderDB$SearchPathQueue org.jcodings.ObjPtr org.jcodings.util.CaseInsensitiveBytesHash org.jcodings.util.CaseInsensitiveBytesHash org.jcodings.transcode.TranscoderDB$Entry byte[] top int
      StackMap stack:
            aload 6 /* bfsVisited */
            aload 9 /* enc */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            checkcast byte[]
            astore 12 /* tmp */
        start local 12 // byte[] tmp
        20: .line 153
            aload 12 /* tmp */
            getstatic org.jcodings.transcode.EConv.NULL_STRING:[B
            if_acmpne 21
            goto 24
        21: .line 154
      StackMap locals: byte[]
      StackMap stack:
            iinc 11 /* pathLength */ 1
        22: .line 155
            aload 12 /* tmp */
            astore 9 /* enc */
        end local 12 // byte[] tmp
        23: .line 151
            goto 19
        24: .line 158
      StackMap locals:
      StackMap stack:
            iload 11 /* pathLength */
            istore 10 /* depth */
        start local 10 // int depth
        25: .line 159
            aload 1 /* destination */
            astore 9 /* enc */
        26: .line 161
      StackMap locals: byte[] byte[] org.jcodings.transcode.TranscoderDB$SearchPathCallback org.jcodings.ObjPtr org.jcodings.transcode.TranscoderDB$SearchPathQueue org.jcodings.ObjPtr org.jcodings.util.CaseInsensitiveBytesHash org.jcodings.util.CaseInsensitiveBytesHash org.jcodings.transcode.TranscoderDB$Entry byte[] int int
      StackMap stack:
            aload 6 /* bfsVisited */
            aload 9 /* enc */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            checkcast byte[]
            astore 12 /* tmp */
        start local 12 // byte[] tmp
        27: .line 162
            aload 12 /* tmp */
            getstatic org.jcodings.transcode.EConv.NULL_STRING:[B
            if_acmpne 28
            goto 31
        28: .line 163
      StackMap locals: byte[]
      StackMap stack:
            aload 2 /* callback */
            aload 12 /* tmp */
            aload 9 /* enc */
            iinc 10 /* depth */ -1
            iload 10 /* depth */
            invokeinterface org.jcodings.transcode.TranscoderDB$SearchPathCallback.call:([B[BI)V
        29: .line 164
            aload 12 /* tmp */
            astore 9 /* enc */
        end local 12 // byte[] tmp
        30: .line 160
            goto 26
        31: .line 166
      StackMap locals:
      StackMap stack:
            iload 11 /* pathLength */
            ireturn
        end local 11 // int pathLength
        end local 10 // int depth
        end local 9 // byte[] enc
        32: .line 168
      StackMap locals:
      StackMap stack:
            aload 4 /* queue */
            getfield org.jcodings.transcode.TranscoderDB$SearchPathQueue.encoding:[B
            astore 9 /* bfsBaseEnc */
        start local 9 // byte[] bfsBaseEnc
        33: .line 170
            aload 7 /* table2 */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.entryIterator:()Lorg/jcodings/util/CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntryIterator;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 11
            goto 44
      StackMap locals: byte[] byte[] org.jcodings.transcode.TranscoderDB$SearchPathCallback org.jcodings.ObjPtr org.jcodings.transcode.TranscoderDB$SearchPathQueue org.jcodings.ObjPtr org.jcodings.util.CaseInsensitiveBytesHash org.jcodings.util.CaseInsensitiveBytesHash org.jcodings.transcode.TranscoderDB$Entry byte[] top java.util.Iterator
      StackMap stack:
        34: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jcodings.util.Hash$HashEntry
            astore 10 /* o */
        start local 10 // org.jcodings.util.Hash$HashEntry o
        35: .line 171
            aload 10 /* o */
            checkcast org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry
            astore 12 /* e */
        start local 12 // org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry e
        36: .line 172
            aload 12 /* e */
            getfield org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry.bytes:[B
            astore 13 /* dname */
        start local 13 // byte[] dname
        37: .line 173
            aload 6 /* bfsVisited */
            aload 13 /* dname */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            ifnonnull 44
        38: .line 174
            new org.jcodings.transcode.TranscoderDB$SearchPathQueue
            dup
            invokespecial org.jcodings.transcode.TranscoderDB$SearchPathQueue.<init>:()V
            astore 14 /* q */
        start local 14 // org.jcodings.transcode.TranscoderDB$SearchPathQueue q
        39: .line 175
            aload 14 /* q */
            aload 13 /* dname */
            putfield org.jcodings.transcode.TranscoderDB$SearchPathQueue.encoding:[B
        40: .line 176
            aload 14 /* q */
            getfield org.jcodings.transcode.TranscoderDB$SearchPathQueue.next:Lorg/jcodings/ObjPtr;
            aconst_null
            putfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
        41: .line 177
            aload 5 /* bfsLastQueue */
            aload 14 /* q */
            putfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
        42: .line 178
            aload 14 /* q */
            getfield org.jcodings.transcode.TranscoderDB$SearchPathQueue.next:Lorg/jcodings/ObjPtr;
            astore 5 /* bfsLastQueue */
        43: .line 180
            aload 6 /* bfsVisited */
            aload 13 /* dname */
            aload 9 /* bfsBaseEnc */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.putDirect:([BLjava/lang/Object;)V
        end local 14 // org.jcodings.transcode.TranscoderDB$SearchPathQueue q
        end local 13 // byte[] dname
        end local 12 // org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry e
        end local 10 // org.jcodings.util.Hash$HashEntry o
        44: .line 170
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 34
        45: .line 184
            aconst_null
            astore 9
        end local 9 // byte[] bfsBaseEnc
        end local 8 // org.jcodings.transcode.TranscoderDB$Entry entry
        end local 7 // org.jcodings.util.CaseInsensitiveBytesHash table2
        46: .line 138
      StackMap locals: byte[] byte[] org.jcodings.transcode.TranscoderDB$SearchPathCallback org.jcodings.ObjPtr org.jcodings.transcode.TranscoderDB$SearchPathQueue org.jcodings.ObjPtr org.jcodings.util.CaseInsensitiveBytesHash
      StackMap stack:
            aload 3 /* bfsQueue */
            getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
            ifnonnull 9
        47: .line 188
            iconst_m1
            ireturn
        end local 6 // org.jcodings.util.CaseInsensitiveBytesHash bfsVisited
        end local 5 // org.jcodings.ObjPtr bfsLastQueue
        end local 4 // org.jcodings.transcode.TranscoderDB$SearchPathQueue queue
        end local 3 // org.jcodings.ObjPtr bfsQueue
        end local 2 // org.jcodings.transcode.TranscoderDB$SearchPathCallback callback
        end local 1 // byte[] destination
        end local 0 // byte[] source
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   48     0        source  [B
            0   48     1   destination  [B
            0   48     2      callback  Lorg/jcodings/transcode/TranscoderDB$SearchPathCallback;
            2   48     3      bfsQueue  Lorg/jcodings/ObjPtr<Lorg/jcodings/transcode/TranscoderDB$SearchPathQueue;>;
            3   48     4         queue  Lorg/jcodings/transcode/TranscoderDB$SearchPathQueue;
            5   48     5  bfsLastQueue  Lorg/jcodings/ObjPtr<Lorg/jcodings/transcode/TranscoderDB$SearchPathQueue;>;
            7   48     6    bfsVisited  Lorg/jcodings/util/CaseInsensitiveBytesHash<[B>;
           13   46     7        table2  Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/transcode/TranscoderDB$Entry;>;
           15   46     8         entry  Lorg/jcodings/transcode/TranscoderDB$Entry;
           18   32     9           enc  [B
           25   32    10         depth  I
           19   32    11    pathLength  I
           20   23    12           tmp  [B
           27   30    12           tmp  [B
           33   46     9    bfsBaseEnc  [B
           35   44    10             o  Lorg/jcodings/util/Hash$HashEntry<Lorg/jcodings/transcode/TranscoderDB$Entry;>;
           36   44    12             e  Lorg/jcodings/util/CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry<Lorg/jcodings/transcode/TranscoderDB$Entry;>;
           37   44    13         dname  [B
           39   44    14             q  Lorg/jcodings/transcode/TranscoderDB$SearchPathQueue;
    MethodParameters:
             Name  Flags
      source       
      destination  
      callback     

  public static org.jcodings.transcode.EConv alloc(int);
    descriptor: (I)Lorg/jcodings/transcode/EConv;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int n
         0: .line 193
            new org.jcodings.transcode.EConv
            dup
            iload 0 /* n */
            invokespecial org.jcodings.transcode.EConv.<init>:(I)V
            areturn
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     n  I
    MethodParameters:
      Name  Flags
      n     

  private static org.jcodings.transcode.EConv openByTranscoderEntries(int, org.jcodings.transcode.TranscoderDB$Entry[]);
    descriptor: (I[Lorg/jcodings/transcode/TranscoderDB$Entry;)Lorg/jcodings/transcode/EConv;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // int n
        start local 1 // org.jcodings.transcode.TranscoderDB$Entry[] entries
         0: .line 198
            new org.jcodings.transcode.EConv
            dup
            iload 0 /* n */
            invokespecial org.jcodings.transcode.EConv.<init>:(I)V
            astore 2 /* econv */
        start local 2 // org.jcodings.transcode.EConv econv
         1: .line 200
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 6
         3: .line 201
      StackMap locals: org.jcodings.transcode.EConv int
      StackMap stack:
            aload 1 /* entries */
            iload 3 /* i */
            aaload
            invokevirtual org.jcodings.transcode.TranscoderDB$Entry.getTranscoder:()Lorg/jcodings/transcode/Transcoder;
            astore 4 /* transcoder */
        start local 4 // org.jcodings.transcode.Transcoder transcoder
         4: .line 202
            aload 2 /* econv */
            aload 4 /* transcoder */
            aload 2 /* econv */
            getfield org.jcodings.transcode.EConv.numTranscoders:I
            invokevirtual org.jcodings.transcode.EConv.addTranscoderAt:(Lorg/jcodings/transcode/Transcoder;I)V
        end local 4 // org.jcodings.transcode.Transcoder transcoder
         5: .line 200
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 0 /* n */
            if_icmplt 3
        end local 3 // int i
         7: .line 204
            aload 2 /* econv */
            areturn
        end local 2 // org.jcodings.transcode.EConv econv
        end local 1 // org.jcodings.transcode.TranscoderDB$Entry[] entries
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0           n  I
            0    8     1     entries  [Lorg/jcodings/transcode/TranscoderDB$Entry;
            1    8     2       econv  Lorg/jcodings/transcode/EConv;
            2    7     3           i  I
            4    5     4  transcoder  Lorg/jcodings/transcode/Transcoder;
    MethodParameters:
         Name  Flags
      n        
      entries  

  private static org.jcodings.transcode.EConv open0(byte[], byte[], int);
    descriptor: ([B[BI)Lorg/jcodings/transcode/EConv;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // byte[] source
        start local 1 // byte[] destination
        start local 2 // int ecflags
         0: .line 214
            aload 0 /* source */
            arraylength
            ifne 4
            aload 1 /* destination */
            arraylength
            ifne 4
         1: .line 215
            iconst_0
            istore 3 /* numTrans */
        start local 3 // int numTrans
         2: .line 216
            aconst_null
            astore 4 /* entries */
        start local 4 // org.jcodings.transcode.TranscoderDB$Entry[] entries
         3: .line 217
            goto 9
        end local 4 // org.jcodings.transcode.TranscoderDB$Entry[] entries
        end local 3 // int numTrans
         4: .line 218
      StackMap locals:
      StackMap stack:
            new org.jcodings.ObjPtr
            dup
            invokespecial org.jcodings.ObjPtr.<init>:()V
            astore 5 /* lentries */
        start local 5 // org.jcodings.ObjPtr lentries
         5: .line 219
            aload 0 /* source */
            aload 1 /* destination */
            new org.jcodings.transcode.TranscoderDB$1
            dup
            aload 5 /* lentries */
            invokespecial org.jcodings.transcode.TranscoderDB$1.<init>:(Lorg/jcodings/ObjPtr;)V
            invokestatic org.jcodings.transcode.TranscoderDB.searchPath:([B[BLorg/jcodings/transcode/TranscoderDB$SearchPathCallback;)I
            istore 3 /* numTrans */
        start local 3 // int numTrans
         6: .line 228
            aload 5 /* lentries */
            getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
            checkcast org.jcodings.transcode.TranscoderDB$Entry[]
            astore 4 /* entries */
        start local 4 // org.jcodings.transcode.TranscoderDB$Entry[] entries
         7: .line 229
            iload 3 /* numTrans */
            ifge 9
         8: .line 230
            aconst_null
            areturn
        end local 5 // org.jcodings.ObjPtr lentries
         9: .line 234
      StackMap locals: int org.jcodings.transcode.TranscoderDB$Entry[]
      StackMap stack:
            iload 3 /* numTrans */
            aload 4 /* entries */
            invokestatic org.jcodings.transcode.TranscoderDB.openByTranscoderEntries:(I[Lorg/jcodings/transcode/TranscoderDB$Entry;)Lorg/jcodings/transcode/EConv;
            astore 5 /* ec */
        start local 5 // org.jcodings.transcode.EConv ec
        10: .line 235
            aload 5 /* ec */
            ifnonnull 11
            aconst_null
            areturn
        11: .line 237
      StackMap locals: org.jcodings.transcode.EConv
      StackMap stack:
            aload 5 /* ec */
            iload 2 /* ecflags */
            putfield org.jcodings.transcode.EConv.flags:I
        12: .line 238
            aload 5 /* ec */
            aload 0 /* source */
            putfield org.jcodings.transcode.EConv.source:[B
        13: .line 239
            aload 5 /* ec */
            aload 1 /* destination */
            putfield org.jcodings.transcode.EConv.destination:[B
        14: .line 240
            aload 5 /* ec */
            areturn
        end local 5 // org.jcodings.transcode.EConv ec
        end local 4 // org.jcodings.transcode.TranscoderDB$Entry[] entries
        end local 3 // int numTrans
        end local 2 // int ecflags
        end local 1 // byte[] destination
        end local 0 // byte[] source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0       source  [B
            0   15     1  destination  [B
            0   15     2      ecflags  I
            2    4     3     numTrans  I
            6   15     3     numTrans  I
            3    4     4      entries  [Lorg/jcodings/transcode/TranscoderDB$Entry;
            7   15     4      entries  [Lorg/jcodings/transcode/TranscoderDB$Entry;
            5    9     5     lentries  Lorg/jcodings/ObjPtr<[Lorg/jcodings/transcode/TranscoderDB$Entry;>;
           10   15     5           ec  Lorg/jcodings/transcode/EConv;
    MethodParameters:
             Name  Flags
      source       
      destination  
      ecflags      

  public static int decoratorNames(int, byte[][]);
    descriptor: (I[[B)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // int ecflags
        start local 1 // byte[][] decorators
         0: .line 245
            iload 0 /* ecflags */
            sipush 16128
            iand
            lookupswitch { // 4
                    0: 1
                  256: 1
                 4096: 1
                 8192: 1
              default: 2
          }
         1: .line 250
      StackMap locals:
      StackMap stack:
            goto 3
         2: .line 252
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
         3: .line 255
      StackMap locals:
      StackMap stack:
            iload 0 /* ecflags */
            sipush 16384
            iand
            ifeq 4
            iload 0 /* ecflags */
            ldc 32768
            iand
            ifeq 4
            iconst_m1
            ireturn
         4: .line 257
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* numDecorators */
        start local 2 // int numDecorators
         5: .line 259
            iload 0 /* ecflags */
            sipush 16384
            iand
            ifeq 6
            aload 1 /* decorators */
            iload 2 /* numDecorators */
            iinc 2 /* numDecorators */ 1
            ldc "xml_text_escape"
            invokevirtual java.lang.String.getBytes:()[B
            aastore
         6: .line 260
      StackMap locals: int
      StackMap stack:
            iload 0 /* ecflags */
            ldc 32768
            iand
            ifeq 7
            aload 1 /* decorators */
            iload 2 /* numDecorators */
            iinc 2 /* numDecorators */ 1
            ldc "xml_attr_content_escape"
            invokevirtual java.lang.String.getBytes:()[B
            aastore
         7: .line 261
      StackMap locals:
      StackMap stack:
            iload 0 /* ecflags */
            ldc 1048576
            iand
            ifeq 8
            aload 1 /* decorators */
            iload 2 /* numDecorators */
            iinc 2 /* numDecorators */ 1
            ldc "xml_attr_quote"
            invokevirtual java.lang.String.getBytes:()[B
            aastore
         8: .line 263
      StackMap locals:
      StackMap stack:
            iload 0 /* ecflags */
            sipush 4096
            iand
            ifeq 9
            aload 1 /* decorators */
            iload 2 /* numDecorators */
            iinc 2 /* numDecorators */ 1
            ldc "crlf_newline"
            invokevirtual java.lang.String.getBytes:()[B
            aastore
         9: .line 264
      StackMap locals:
      StackMap stack:
            iload 0 /* ecflags */
            sipush 8192
            iand
            ifeq 10
            aload 1 /* decorators */
            iload 2 /* numDecorators */
            iinc 2 /* numDecorators */ 1
            ldc "cr_newline"
            invokevirtual java.lang.String.getBytes:()[B
            aastore
        10: .line 265
      StackMap locals:
      StackMap stack:
            iload 0 /* ecflags */
            sipush 256
            iand
            ifeq 11
            aload 1 /* decorators */
            iload 2 /* numDecorators */
            iinc 2 /* numDecorators */ 1
            ldc "universal_newline"
            invokevirtual java.lang.String.getBytes:()[B
            aastore
        11: .line 267
      StackMap locals:
      StackMap stack:
            iload 2 /* numDecorators */
            ireturn
        end local 2 // int numDecorators
        end local 1 // byte[][] decorators
        end local 0 // int ecflags
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0        ecflags  I
            0   12     1     decorators  [[B
            5   12     2  numDecorators  I
    MethodParameters:
            Name  Flags
      ecflags     
      decorators  

  public static org.jcodings.transcode.EConv open(java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;I)Lorg/jcodings/transcode/EConv;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.String source
        start local 1 // java.lang.String destination
        start local 2 // int ecflags
         0: .line 271
            aload 0 /* source */
            invokevirtual java.lang.String.getBytes:()[B
            aload 1 /* destination */
            invokevirtual java.lang.String.getBytes:()[B
            iload 2 /* ecflags */
            invokestatic org.jcodings.transcode.TranscoderDB.open:([B[BI)Lorg/jcodings/transcode/EConv;
            areturn
        end local 2 // int ecflags
        end local 1 // java.lang.String destination
        end local 0 // java.lang.String source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0       source  Ljava/lang/String;
            0    1     1  destination  Ljava/lang/String;
            0    1     2      ecflags  I
    MethodParameters:
             Name  Flags
      source       
      destination  
      ecflags      

  public static org.jcodings.transcode.EConv open(byte[], byte[], int);
    descriptor: ([B[BI)Lorg/jcodings/transcode/EConv;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // byte[] source
        start local 1 // byte[] destination
        start local 2 // int ecflags
         0: .line 276
            bipush 32
            anewarray byte[]
            astore 3 /* decorators */
        start local 3 // byte[][] decorators
         1: .line 278
            iload 2 /* ecflags */
            aload 3 /* decorators */
            invokestatic org.jcodings.transcode.TranscoderDB.decoratorNames:(I[[B)I
            istore 4 /* numDecorators */
        start local 4 // int numDecorators
         2: .line 279
            iload 4 /* numDecorators */
            iconst_m1
            if_icmpne 3
            aconst_null
            areturn
         3: .line 281
      StackMap locals: byte[][] int
      StackMap stack:
            aload 0 /* source */
            aload 1 /* destination */
            iload 2 /* ecflags */
            sipush 255
            iand
            invokestatic org.jcodings.transcode.TranscoderDB.open0:([B[BI)Lorg/jcodings/transcode/EConv;
            astore 5 /* ec */
        start local 5 // org.jcodings.transcode.EConv ec
         4: .line 282
            aload 5 /* ec */
            ifnonnull 5
            aconst_null
            areturn
         5: .line 284
      StackMap locals: org.jcodings.transcode.EConv
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 11
         7: .line 285
      StackMap locals: int
      StackMap stack:
            aload 5 /* ec */
            aload 3 /* decorators */
            iload 6 /* i */
            aaload
            invokevirtual org.jcodings.transcode.EConv.decorateAtLast:([B)Z
            ifne 10
         8: .line 286
            aload 5 /* ec */
            invokevirtual org.jcodings.transcode.EConv.close:()V
         9: .line 287
            aconst_null
            areturn
        10: .line 284
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            iload 4 /* numDecorators */
            if_icmplt 7
        end local 6 // int i
        12: .line 291
            aload 5 /* ec */
            dup
            getfield org.jcodings.transcode.EConv.flags:I
            iload 2 /* ecflags */
            sipush -256
            iand
            ior
            putfield org.jcodings.transcode.EConv.flags:I
        13: .line 292
            aload 5 /* ec */
            areturn
        end local 5 // org.jcodings.transcode.EConv ec
        end local 4 // int numDecorators
        end local 3 // byte[][] decorators
        end local 2 // int ecflags
        end local 1 // byte[] destination
        end local 0 // byte[] source
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0         source  [B
            0   14     1    destination  [B
            0   14     2        ecflags  I
            1   14     3     decorators  [[B
            2   14     4  numDecorators  I
            4   14     5             ec  Lorg/jcodings/transcode/EConv;
            6   12     6              i  I
    MethodParameters:
             Name  Flags
      source       
      destination  
      ecflags      

  static byte[] asciiCompatibleEncoding(byte[]);
    descriptor: ([B)[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // byte[] asciiCompatName
         0: .line 297
            getstatic org.jcodings.transcode.TranscoderDB.transcoders:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            aload 0 /* asciiCompatName */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            checkcast org.jcodings.util.CaseInsensitiveBytesHash
            astore 1 /* dTable */
        start local 1 // org.jcodings.util.CaseInsensitiveBytesHash dTable
         1: .line 298
            aload 1 /* dTable */
            ifnull 2
            aload 1 /* dTable */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.size:()I
            iconst_1
            if_icmpeq 3
      StackMap locals: org.jcodings.util.CaseInsensitiveBytesHash
      StackMap stack:
         2: aconst_null
            areturn
         3: .line 300
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* asciiCN */
        start local 2 // byte[] asciiCN
         4: .line 301
            aload 1 /* dTable */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.iterator:()Ljava/util/Iterator;
            astore 4
            goto 11
      StackMap locals: byte[] org.jcodings.util.CaseInsensitiveBytesHash byte[] top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jcodings.transcode.TranscoderDB$Entry
            astore 3 /* e */
        start local 3 // org.jcodings.transcode.TranscoderDB$Entry e
         6: .line 302
            aload 3 /* e */
            getfield org.jcodings.transcode.TranscoderDB$Entry.source:[B
            aload 3 /* e */
            getfield org.jcodings.transcode.TranscoderDB$Entry.destination:[B
            invokestatic org.jcodings.transcode.EConv.decorator:([B[B)Z
            ifne 11
         7: .line 303
            aload 3 /* e */
            invokevirtual org.jcodings.transcode.TranscoderDB$Entry.getTranscoder:()Lorg/jcodings/transcode/Transcoder;
            astore 5 /* transcoder */
        start local 5 // org.jcodings.transcode.Transcoder transcoder
         8: .line 304
            aload 5 /* transcoder */
            ifnull 11
            aload 5 /* transcoder */
            getfield org.jcodings.transcode.Transcoder.compatibility:Lorg/jcodings/transcode/AsciiCompatibility;
            invokevirtual org.jcodings.transcode.AsciiCompatibility.isDecoder:()Z
            ifeq 11
         9: .line 305
            aload 5 /* transcoder */
            getfield org.jcodings.transcode.Transcoder.destination:[B
            astore 2 /* asciiCN */
        10: .line 306
            goto 12
        end local 5 // org.jcodings.transcode.Transcoder transcoder
        end local 3 // org.jcodings.transcode.TranscoderDB$Entry e
        11: .line 301
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        12: .line 310
      StackMap locals: byte[] org.jcodings.util.CaseInsensitiveBytesHash byte[]
      StackMap stack:
            aload 2 /* asciiCN */
            areturn
        end local 2 // byte[] asciiCN
        end local 1 // org.jcodings.util.CaseInsensitiveBytesHash dTable
        end local 0 // byte[] asciiCompatName
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0  asciiCompatName  [B
            1   13     1           dTable  Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/transcode/TranscoderDB$Entry;>;
            4   13     2          asciiCN  [B
            6   11     3                e  Lorg/jcodings/transcode/TranscoderDB$Entry;
            8   11     5       transcoder  Lorg/jcodings/transcode/Transcoder;
    MethodParameters:
                 Name  Flags
      asciiCompatName  
}
SourceFile: "TranscoderDB.java"
NestMembers:
  org.jcodings.transcode.TranscoderDB$1  org.jcodings.transcode.TranscoderDB$Entry  org.jcodings.transcode.TranscoderDB$SearchPathCallback  org.jcodings.transcode.TranscoderDB$SearchPathQueue
InnerClasses:
  org.jcodings.transcode.TranscoderDB$1
  public final Entry = org.jcodings.transcode.TranscoderDB$Entry of org.jcodings.transcode.TranscoderDB
  public abstract SearchPathCallback = org.jcodings.transcode.TranscoderDB$SearchPathCallback of org.jcodings.transcode.TranscoderDB
  final SearchPathQueue = org.jcodings.transcode.TranscoderDB$SearchPathQueue of org.jcodings.transcode.TranscoderDB
  public final CaseInsensitiveBytesHashEntry = org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry of org.jcodings.util.CaseInsensitiveBytesHash
  public CaseInsensitiveBytesHashEntryIterator = org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntryIterator of org.jcodings.util.CaseInsensitiveBytesHash
  public HashEntry = org.jcodings.util.Hash$HashEntry of org.jcodings.util.Hash