public class org.reflections.serializers.JavaCodeSerializer implements org.reflections.serializers.Serializer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.reflections.serializers.JavaCodeSerializer
  super_class: java.lang.Object
{
  private static final java.lang.String pathSeparator;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "_"

  private static final java.lang.String doubleSeparator;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "__"

  private static final java.lang.String dotSeparator;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "."

  private static final java.lang.String arrayDescriptor;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "$$"

  private static final java.lang.String tokenSeparator;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "_"

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

  public org.reflections.Reflections read(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Lorg/reflections/Reflections;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.reflections.serializers.JavaCodeSerializer this
        start local 1 // java.io.InputStream inputStream
         0: .line 69
            new java.lang.UnsupportedOperationException
            dup
            ldc "read is not implemented on JavaCodeSerializer"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.io.InputStream inputStream
        end local 0 // org.reflections.serializers.JavaCodeSerializer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/reflections/serializers/JavaCodeSerializer;
            0    1     1  inputStream  Ljava/io/InputStream;
    MethodParameters:
             Name  Flags
      inputStream  

  public java.io.File save(org.reflections.Reflections, java.lang.String);
    descriptor: (Lorg/reflections/Reflections;Ljava/lang/String;)Ljava/io/File;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // org.reflections.serializers.JavaCodeSerializer this
        start local 1 // org.reflections.Reflections reflections
        start local 2 // java.lang.String name
         0: .line 78
            aload 2 /* name */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 79
            aload 2 /* name */
            iconst_0
            aload 2 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* name */
         2: .line 83
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            ldc ".java"
            invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* filename */
        start local 3 // java.lang.String filename
         3: .line 84
            aload 3 /* filename */
            invokestatic org.reflections.util.Utils.prepareFile:(Ljava/lang/String;)Ljava/io/File;
            astore 4 /* file */
        start local 4 // java.io.File file
         4: .line 89
            aload 2 /* name */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 7 /* lastDot */
        start local 7 // int lastDot
         5: .line 90
            iload 7 /* lastDot */
            iconst_m1
            if_icmpne 9
         6: .line 91
            ldc ""
            astore 5 /* packageName */
        start local 5 // java.lang.String packageName
         7: .line 92
            aload 2 /* name */
            aload 2 /* name */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* className */
        start local 6 // java.lang.String className
         8: .line 93
            goto 11
        end local 6 // java.lang.String className
        end local 5 // java.lang.String packageName
         9: .line 94
      StackMap locals: org.reflections.serializers.JavaCodeSerializer org.reflections.Reflections java.lang.String java.lang.String java.io.File top top int
      StackMap stack:
            aload 2 /* name */
            aload 2 /* name */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            iconst_1
            iadd
            iload 7 /* lastDot */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* packageName */
        start local 5 // java.lang.String packageName
        10: .line 95
            aload 2 /* name */
            iload 7 /* lastDot */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* className */
        start local 6 // java.lang.String className
        11: .line 100
      StackMap locals: org.reflections.serializers.JavaCodeSerializer org.reflections.Reflections java.lang.String java.lang.String java.io.File java.lang.String java.lang.String int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 8 /* sb */
        start local 8 // java.lang.StringBuilder sb
        12: .line 101
            aload 8 /* sb */
            ldc "//generated using Reflections JavaCodeSerializer"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 102
            ldc " ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 103
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 104
            aload 5 /* packageName */
            invokevirtual java.lang.String.length:()I
            ifeq 18
        16: .line 105
            aload 8 /* sb */
            ldc "package "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* packageName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ";\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 106
            aload 8 /* sb */
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 108
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 8 /* sb */
            ldc "public interface "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " {\n\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 109
            aload 8 /* sb */
            aload 0 /* this */
            aload 1 /* reflections */
            invokevirtual org.reflections.serializers.JavaCodeSerializer.toString:(Lorg/reflections/Reflections;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 110
            aload 8 /* sb */
            ldc "}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 112
            new java.io.File
            dup
            aload 3 /* filename */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            aload 8 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            iconst_0
            anewarray java.nio.file.OpenOption
            invokestatic java.nio.file.Files.write:(Ljava/nio/file/Path;[B[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;
            pop
        end local 8 // java.lang.StringBuilder sb
        22: .line 114
            goto 25
      StackMap locals: org.reflections.serializers.JavaCodeSerializer org.reflections.Reflections java.lang.String java.lang.String java.io.File java.lang.String java.lang.String int
      StackMap stack: java.io.IOException
        23: pop
        24: .line 115
            new java.lang.RuntimeException
            dup
            invokespecial java.lang.RuntimeException.<init>:()V
            athrow
        25: .line 118
      StackMap locals:
      StackMap stack:
            aload 4 /* file */
            areturn
        end local 7 // int lastDot
        end local 6 // java.lang.String className
        end local 5 // java.lang.String packageName
        end local 4 // java.io.File file
        end local 3 // java.lang.String filename
        end local 2 // java.lang.String name
        end local 1 // org.reflections.Reflections reflections
        end local 0 // org.reflections.serializers.JavaCodeSerializer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   26     0         this  Lorg/reflections/serializers/JavaCodeSerializer;
            0   26     1  reflections  Lorg/reflections/Reflections;
            0   26     2         name  Ljava/lang/String;
            3   26     3     filename  Ljava/lang/String;
            4   26     4         file  Ljava/io/File;
            7    9     5  packageName  Ljava/lang/String;
           10   26     5  packageName  Ljava/lang/String;
            8    9     6    className  Ljava/lang/String;
           11   26     6    className  Ljava/lang/String;
            5   26     7      lastDot  I
           12   22     8           sb  Ljava/lang/StringBuilder;
      Exception table:
        from    to  target  type
          11    22      23  Class java.io.IOException
    MethodParameters:
             Name  Flags
      reflections  
      name         

  public java.lang.String toString(org.reflections.Reflections);
    descriptor: (Lorg/reflections/Reflections;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=23, args_size=2
        start local 0 // org.reflections.serializers.JavaCodeSerializer this
        start local 1 // org.reflections.Reflections reflections
         0: .line 122
            aload 1 /* reflections */
            invokevirtual org.reflections.Reflections.getStore:()Lorg/reflections/Store;
            ldc Lorg/reflections/scanners/TypeElementsScanner;
            invokestatic org.reflections.util.Utils.index:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.reflections.Store.keys:(Ljava/lang/String;)Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 2
         1: .line 123
            getstatic org.reflections.Reflections.log:Lorg/slf4j/Logger;
            ifnull 2
            getstatic org.reflections.Reflections.log:Lorg/slf4j/Logger;
            ldc "JavaCodeSerializer needs TypeElementsScanner configured"
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
         2: .line 126
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         3: .line 128
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* prevPaths */
        start local 3 // java.util.List prevPaths
         4: .line 129
            iconst_1
            istore 4 /* indent */
        start local 4 // int indent
         5: .line 131
            new java.util.ArrayList
            dup
            aload 1 /* reflections */
            invokevirtual org.reflections.Reflections.getStore:()Lorg/reflections/Store;
            ldc Lorg/reflections/scanners/TypeElementsScanner;
            invokestatic org.reflections.util.Utils.index:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.reflections.Store.keys:(Ljava/lang/String;)Ljava/util/Set;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 5 /* keys */
        start local 5 // java.util.List keys
         6: .line 132
            aload 5 /* keys */
            invokestatic java.util.Collections.sort:(Ljava/util/List;)V
         7: .line 133
            aload 5 /* keys */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 78
      StackMap locals: org.reflections.serializers.JavaCodeSerializer org.reflections.Reflections java.lang.StringBuilder java.util.List int java.util.List top java.util.Iterator
      StackMap stack:
         8: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* fqn */
        start local 6 // java.lang.String fqn
         9: .line 134
            aload 6 /* fqn */
            ldc "\\."
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 8 /* typePaths */
        start local 8 // java.util.List typePaths
        10: .line 137
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        11: .line 138
            goto 13
        12: .line 139
      StackMap locals: org.reflections.serializers.JavaCodeSerializer org.reflections.Reflections java.lang.StringBuilder java.util.List int java.util.List java.lang.String java.util.Iterator java.util.List int
      StackMap stack:
            iinc 9 /* i */ 1
        13: .line 138
      StackMap locals:
      StackMap stack:
            iload 9 /* i */
            aload 8 /* typePaths */
            invokeinterface java.util.List.size:()I
            aload 3 /* prevPaths */
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.Math.min:(II)I
            if_icmpge 14
            aload 8 /* typePaths */
            iload 9 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            aload 3 /* prevPaths */
            iload 9 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
        14: .line 143
      StackMap locals:
      StackMap stack:
            aload 3 /* prevPaths */
            invokeinterface java.util.List.size:()I
            istore 10 /* j */
        start local 10 // int j
        15: goto 18
        16: .line 144
      StackMap locals: int
      StackMap stack:
            aload 2 /* sb */
            ldc "\t"
            iinc 4 /* indent */ -1
            iload 4 /* indent */
            invokestatic org.reflections.util.Utils.repeat:(Ljava/lang/String;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 143
            iinc 10 /* j */ -1
      StackMap locals:
      StackMap stack:
        18: iload 10 /* j */
            iload 9 /* i */
            if_icmpgt 16
        end local 10 // int j
        19: .line 148
            iload 9 /* i */
            istore 10 /* j */
        start local 10 // int j
        20: goto 23
        21: .line 149
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "\t"
            iload 4 /* indent */
            iinc 4 /* indent */ 1
            invokestatic org.reflections.util.Utils.repeat:(Ljava/lang/String;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "public interface "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 8 /* typePaths */
            iload 10 /* j */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            aload 8 /* typePaths */
            iload 10 /* j */
            invokevirtual org.reflections.serializers.JavaCodeSerializer.getNonDuplicateName:(Ljava/lang/String;Ljava/util/List;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " {\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        22: .line 148
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        23: iload 10 /* j */
            aload 8 /* typePaths */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            if_icmplt 21
        end local 10 // int j
        24: .line 153
            aload 8 /* typePaths */
            aload 8 /* typePaths */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* className */
        start local 10 // java.lang.String className
        25: .line 156
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 11 /* annotations */
        start local 11 // java.util.List annotations
        26: .line 157
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 12 /* fields */
        start local 12 // java.util.List fields
        27: .line 158
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 13 /* methods */
        start local 13 // java.util.List methods
        28: .line 160
            aload 1 /* reflections */
            invokevirtual org.reflections.Reflections.getStore:()Lorg/reflections/Store;
            ldc Lorg/reflections/scanners/TypeElementsScanner;
            invokestatic org.reflections.util.Utils.index:(Ljava/lang/Class;)Ljava/lang/String;
            aload 6 /* fqn */
            invokevirtual org.reflections.Store.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Set;
            astore 14 /* members */
        start local 14 // java.lang.Iterable members
        29: .line 161
            aload 14 /* members */
            invokeinterface java.lang.Iterable.spliterator:()Ljava/util/Spliterator;
            iconst_0
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            astore 15 /* sorted */
        start local 15 // java.util.List sorted
        30: .line 162
            aload 15 /* sorted */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 17
            goto 51
      StackMap locals: org.reflections.serializers.JavaCodeSerializer org.reflections.Reflections java.lang.StringBuilder java.util.List int java.util.List java.lang.String java.util.Iterator java.util.List int java.lang.String java.util.List java.util.List java.util.List java.lang.Iterable java.util.List top java.util.Iterator
      StackMap stack:
        31: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 16 /* element */
        start local 16 // java.lang.String element
        32: .line 163
            aload 16 /* element */
            ldc "@"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 35
        33: .line 164
            aload 11 /* annotations */
            aload 16 /* element */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        34: .line 165
            goto 51
      StackMap locals: org.reflections.serializers.JavaCodeSerializer org.reflections.Reflections java.lang.StringBuilder java.util.List int java.util.List java.lang.String java.util.Iterator java.util.List int java.lang.String java.util.List java.util.List java.util.List java.lang.Iterable java.util.List java.lang.String java.util.Iterator
      StackMap stack:
        35: aload 16 /* element */
            ldc "("
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 49
        36: .line 167
            aload 16 /* element */
            ldc "<"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 51
        37: .line 168
            aload 16 /* element */
            bipush 40
            invokevirtual java.lang.String.indexOf:(I)I
            istore 18 /* i1 */
        start local 18 // int i1
        38: .line 169
            aload 16 /* element */
            iconst_0
            iload 18 /* i1 */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 19 /* name */
        start local 19 // java.lang.String name
        39: .line 170
            aload 16 /* element */
            iload 18 /* i1 */
            iconst_1
            iadd
            aload 16 /* element */
            ldc ")"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 20 /* params */
        start local 20 // java.lang.String params
        40: .line 172
            ldc ""
            astore 21 /* paramsDescriptor */
        start local 21 // java.lang.String paramsDescriptor
        41: .line 173
            aload 20 /* params */
            invokevirtual java.lang.String.length:()I
            ifeq 43
        42: .line 174
            new java.lang.StringBuilder
            dup
            ldc "_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 20 /* params */
            ldc "."
            ldc "_"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            ldc ", "
            ldc "__"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            ldc "[]"
            ldc "$$"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 21 /* paramsDescriptor */
        43: .line 176
      StackMap locals: org.reflections.serializers.JavaCodeSerializer org.reflections.Reflections java.lang.StringBuilder java.util.List int java.util.List java.lang.String java.util.Iterator java.util.List int java.lang.String java.util.List java.util.List java.util.List java.lang.Iterable java.util.List java.lang.String java.util.Iterator int java.lang.String java.lang.String java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 19 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 21 /* paramsDescriptor */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 22 /* normalized */
        start local 22 // java.lang.String normalized
        44: .line 177
            aload 13 /* methods */
            aload 19 /* name */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 47
        45: .line 178
            aload 13 /* methods */
            aload 19 /* name */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        46: .line 179
            goto 51
        47: .line 180
      StackMap locals: java.lang.String
      StackMap stack:
            aload 13 /* methods */
            aload 22 /* normalized */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 22 // java.lang.String normalized
        end local 21 // java.lang.String paramsDescriptor
        end local 20 // java.lang.String params
        end local 19 // java.lang.String name
        end local 18 // int i1
        48: .line 183
            goto 51
      StackMap locals: org.reflections.serializers.JavaCodeSerializer org.reflections.Reflections java.lang.StringBuilder java.util.List int java.util.List java.lang.String java.util.Iterator java.util.List int java.lang.String java.util.List java.util.List java.util.List java.lang.Iterable java.util.List java.lang.String java.util.Iterator
      StackMap stack:
        49: aload 16 /* element */
            invokestatic org.reflections.util.Utils.isEmpty:(Ljava/lang/String;)Z
            ifne 51
        50: .line 185
            aload 12 /* fields */
            aload 16 /* element */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 16 // java.lang.String element
        51: .line 162
      StackMap locals: org.reflections.serializers.JavaCodeSerializer org.reflections.Reflections java.lang.StringBuilder java.util.List int java.util.List java.lang.String java.util.Iterator java.util.List int java.lang.String java.util.List java.util.List java.util.List java.lang.Iterable java.util.List top java.util.Iterator
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 31
        52: .line 190
            aload 2 /* sb */
            ldc "\t"
            iload 4 /* indent */
            iinc 4 /* indent */ 1
            invokestatic org.reflections.util.Utils.repeat:(Ljava/lang/String;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "public interface "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 10 /* className */
            aload 8 /* typePaths */
            aload 8 /* typePaths */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokevirtual org.reflections.serializers.JavaCodeSerializer.getNonDuplicateName:(Ljava/lang/String;Ljava/util/List;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " {\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        53: .line 193
            aload 12 /* fields */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 60
        54: .line 194
            aload 2 /* sb */
            ldc "\t"
            iload 4 /* indent */
            iinc 4 /* indent */ 1
            invokestatic org.reflections.util.Utils.repeat:(Ljava/lang/String;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "public interface fields {\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        55: .line 195
            aload 12 /* fields */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 17
            goto 58
      StackMap locals:
      StackMap stack:
        56: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 16 /* field */
        start local 16 // java.lang.String field
        57: .line 196
            aload 2 /* sb */
            ldc "\t"
            iload 4 /* indent */
            invokestatic org.reflections.util.Utils.repeat:(Ljava/lang/String;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "public interface "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 16 /* field */
            aload 8 /* typePaths */
            invokevirtual org.reflections.serializers.JavaCodeSerializer.getNonDuplicateName:(Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " {}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 16 // java.lang.String field
        58: .line 195
      StackMap locals:
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 56
        59: .line 198
            aload 2 /* sb */
            ldc "\t"
            iinc 4 /* indent */ -1
            iload 4 /* indent */
            invokestatic org.reflections.util.Utils.repeat:(Ljava/lang/String;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        60: .line 202
      StackMap locals: org.reflections.serializers.JavaCodeSerializer org.reflections.Reflections java.lang.StringBuilder java.util.List int java.util.List java.lang.String java.util.Iterator java.util.List int java.lang.String java.util.List java.util.List java.util.List java.lang.Iterable java.util.List
      StackMap stack:
            aload 13 /* methods */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 68
        61: .line 203
            aload 2 /* sb */
            ldc "\t"
            iload 4 /* indent */
            iinc 4 /* indent */ 1
            invokestatic org.reflections.util.Utils.repeat:(Ljava/lang/String;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "public interface methods {\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        62: .line 204
            aload 13 /* methods */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 17
            goto 66
      StackMap locals: org.reflections.serializers.JavaCodeSerializer org.reflections.Reflections java.lang.StringBuilder java.util.List int java.util.List java.lang.String java.util.Iterator java.util.List int java.lang.String java.util.List java.util.List java.util.List java.lang.Iterable java.util.List top java.util.Iterator
      StackMap stack:
        63: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 16 /* method */
        start local 16 // java.lang.String method
        64: .line 205
            aload 0 /* this */
            aload 16 /* method */
            aload 12 /* fields */
            invokevirtual org.reflections.serializers.JavaCodeSerializer.getNonDuplicateName:(Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
            astore 18 /* methodName */
        start local 18 // java.lang.String methodName
        65: .line 207
            aload 2 /* sb */
            ldc "\t"
            iload 4 /* indent */
            invokestatic org.reflections.util.Utils.repeat:(Ljava/lang/String;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "public interface "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 18 /* methodName */
            aload 8 /* typePaths */
            invokevirtual org.reflections.serializers.JavaCodeSerializer.getNonDuplicateName:(Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " {}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 18 // java.lang.String methodName
        end local 16 // java.lang.String method
        66: .line 204
      StackMap locals:
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 63
        67: .line 209
            aload 2 /* sb */
            ldc "\t"
            iinc 4 /* indent */ -1
            iload 4 /* indent */
            invokestatic org.reflections.util.Utils.repeat:(Ljava/lang/String;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        68: .line 213
      StackMap locals: org.reflections.serializers.JavaCodeSerializer org.reflections.Reflections java.lang.StringBuilder java.util.List int java.util.List java.lang.String java.util.Iterator java.util.List int java.lang.String java.util.List java.util.List java.util.List java.lang.Iterable java.util.List
      StackMap stack:
            aload 11 /* annotations */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 77
        69: .line 214
            aload 2 /* sb */
            ldc "\t"
            iload 4 /* indent */
            iinc 4 /* indent */ 1
            invokestatic org.reflections.util.Utils.repeat:(Ljava/lang/String;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "public interface annotations {\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        70: .line 215
            aload 11 /* annotations */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 17
            goto 75
      StackMap locals: org.reflections.serializers.JavaCodeSerializer org.reflections.Reflections java.lang.StringBuilder java.util.List int java.util.List java.lang.String java.util.Iterator java.util.List int java.lang.String java.util.List java.util.List java.util.List java.lang.Iterable java.util.List top java.util.Iterator
      StackMap stack:
        71: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 16 /* annotation */
        start local 16 // java.lang.String annotation
        72: .line 216
            aload 16 /* annotation */
            astore 18 /* nonDuplicateName */
        start local 18 // java.lang.String nonDuplicateName
        73: .line 217
            aload 0 /* this */
            aload 18 /* nonDuplicateName */
            aload 8 /* typePaths */
            invokevirtual org.reflections.serializers.JavaCodeSerializer.getNonDuplicateName:(Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
            astore 18 /* nonDuplicateName */
        74: .line 218
            aload 2 /* sb */
            ldc "\t"
            iload 4 /* indent */
            invokestatic org.reflections.util.Utils.repeat:(Ljava/lang/String;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "public interface "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 18 /* nonDuplicateName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " {}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 18 // java.lang.String nonDuplicateName
        end local 16 // java.lang.String annotation
        75: .line 215
      StackMap locals:
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 71
        76: .line 220
            aload 2 /* sb */
            ldc "\t"
            iinc 4 /* indent */ -1
            iload 4 /* indent */
            invokestatic org.reflections.util.Utils.repeat:(Ljava/lang/String;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        77: .line 223
      StackMap locals: org.reflections.serializers.JavaCodeSerializer org.reflections.Reflections java.lang.StringBuilder java.util.List int java.util.List java.lang.String java.util.Iterator java.util.List int java.lang.String java.util.List java.util.List java.util.List java.lang.Iterable java.util.List
      StackMap stack:
            aload 8 /* typePaths */
            astore 3 /* prevPaths */
        end local 15 // java.util.List sorted
        end local 14 // java.lang.Iterable members
        end local 13 // java.util.List methods
        end local 12 // java.util.List fields
        end local 11 // java.util.List annotations
        end local 10 // java.lang.String className
        end local 9 // int i
        end local 8 // java.util.List typePaths
        end local 6 // java.lang.String fqn
        78: .line 133
      StackMap locals: org.reflections.serializers.JavaCodeSerializer org.reflections.Reflections java.lang.StringBuilder java.util.List int java.util.List top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        79: .line 228
            aload 3 /* prevPaths */
            invokeinterface java.util.List.size:()I
            istore 6 /* j */
        start local 6 // int j
        80: goto 83
        81: .line 229
      StackMap locals: org.reflections.serializers.JavaCodeSerializer org.reflections.Reflections java.lang.StringBuilder java.util.List int java.util.List int
      StackMap stack:
            aload 2 /* sb */
            ldc "\t"
            iload 6 /* j */
            invokestatic org.reflections.util.Utils.repeat:(Ljava/lang/String;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        82: .line 228
            iinc 6 /* j */ -1
      StackMap locals:
      StackMap stack:
        83: iload 6 /* j */
            iconst_1
            if_icmpge 81
        end local 6 // int j
        84: .line 232
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // java.util.List keys
        end local 4 // int indent
        end local 3 // java.util.List prevPaths
        end local 2 // java.lang.StringBuilder sb
        end local 1 // org.reflections.Reflections reflections
        end local 0 // org.reflections.serializers.JavaCodeSerializer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   85     0              this  Lorg/reflections/serializers/JavaCodeSerializer;
            0   85     1       reflections  Lorg/reflections/Reflections;
            3   85     2                sb  Ljava/lang/StringBuilder;
            4   85     3         prevPaths  Ljava/util/List<Ljava/lang/String;>;
            5   85     4            indent  I
            6   85     5              keys  Ljava/util/List<Ljava/lang/String;>;
            9   78     6               fqn  Ljava/lang/String;
           10   78     8         typePaths  Ljava/util/List<Ljava/lang/String;>;
           11   78     9                 i  I
           15   19    10                 j  I
           20   24    10                 j  I
           25   78    10         className  Ljava/lang/String;
           26   78    11       annotations  Ljava/util/List<Ljava/lang/String;>;
           27   78    12            fields  Ljava/util/List<Ljava/lang/String;>;
           28   78    13           methods  Ljava/util/List<Ljava/lang/String;>;
           29   78    14           members  Ljava/lang/Iterable<Ljava/lang/String;>;
           30   78    15            sorted  Ljava/util/List<Ljava/lang/String;>;
           32   51    16           element  Ljava/lang/String;
           38   48    18                i1  I
           39   48    19              name  Ljava/lang/String;
           40   48    20            params  Ljava/lang/String;
           41   48    21  paramsDescriptor  Ljava/lang/String;
           44   48    22        normalized  Ljava/lang/String;
           57   58    16             field  Ljava/lang/String;
           64   66    16            method  Ljava/lang/String;
           65   66    18        methodName  Ljava/lang/String;
           72   75    16        annotation  Ljava/lang/String;
           73   75    18  nonDuplicateName  Ljava/lang/String;
           80   84     6                 j  I
    MethodParameters:
             Name  Flags
      reflections  

  private java.lang.String getNonDuplicateName(java.lang.String, java.util.List<java.lang.String>, int);
    descriptor: (Ljava/lang/String;Ljava/util/List;I)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.reflections.serializers.JavaCodeSerializer this
        start local 1 // java.lang.String candidate
        start local 2 // java.util.List prev
        start local 3 // int offset
         0: .line 236
            aload 0 /* this */
            aload 1 /* candidate */
            invokevirtual org.reflections.serializers.JavaCodeSerializer.normalize:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* normalized */
        start local 4 // java.lang.String normalized
         1: .line 237
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 6
         3: .line 238
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 4 /* normalized */
            aload 2 /* prev */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 239
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 4 /* normalized */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* prev */
            iload 3 /* offset */
            invokevirtual org.reflections.serializers.JavaCodeSerializer.getNonDuplicateName:(Ljava/lang/String;Ljava/util/List;I)Ljava/lang/String;
            areturn
         5: .line 237
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 5 /* i */
            iload 3 /* offset */
            if_icmplt 3
        end local 5 // int i
         7: .line 243
            aload 4 /* normalized */
            areturn
        end local 4 // java.lang.String normalized
        end local 3 // int offset
        end local 2 // java.util.List prev
        end local 1 // java.lang.String candidate
        end local 0 // org.reflections.serializers.JavaCodeSerializer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/reflections/serializers/JavaCodeSerializer;
            0    8     1   candidate  Ljava/lang/String;
            0    8     2        prev  Ljava/util/List<Ljava/lang/String;>;
            0    8     3      offset  I
            1    8     4  normalized  Ljava/lang/String;
            2    7     5           i  I
    Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;I)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      candidate  
      prev       
      offset     

  private java.lang.String normalize(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.reflections.serializers.JavaCodeSerializer this
        start local 1 // java.lang.String candidate
         0: .line 247
            aload 1 /* candidate */
            ldc "."
            ldc "_"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String candidate
        end local 0 // org.reflections.serializers.JavaCodeSerializer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/reflections/serializers/JavaCodeSerializer;
            0    1     1  candidate  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      candidate  

  private java.lang.String getNonDuplicateName(java.lang.String, java.util.List<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.reflections.serializers.JavaCodeSerializer this
        start local 1 // java.lang.String candidate
        start local 2 // java.util.List prev
         0: .line 251
            aload 0 /* this */
            aload 1 /* candidate */
            aload 2 /* prev */
            aload 2 /* prev */
            invokeinterface java.util.List.size:()I
            invokevirtual org.reflections.serializers.JavaCodeSerializer.getNonDuplicateName:(Ljava/lang/String;Ljava/util/List;I)Ljava/lang/String;
            areturn
        end local 2 // java.util.List prev
        end local 1 // java.lang.String candidate
        end local 0 // org.reflections.serializers.JavaCodeSerializer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/reflections/serializers/JavaCodeSerializer;
            0    1     1  candidate  Ljava/lang/String;
            0    1     2       prev  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      candidate  
      prev       

  public static java.lang.Class<?> resolveClassOf(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.Class element
         0: .line 256
            aload 0 /* element */
            astore 1 /* cursor */
        start local 1 // java.lang.Class cursor
         1: .line 257
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 2 /* ognl */
        start local 2 // java.util.LinkedList ognl
         2: .line 259
            goto 5
         3: .line 260
      StackMap locals: java.lang.Class java.util.LinkedList
      StackMap stack:
            aload 2 /* ognl */
            aload 1 /* cursor */
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.util.LinkedList.addFirst:(Ljava/lang/Object;)V
         4: .line 261
            aload 1 /* cursor */
            invokevirtual java.lang.Class.getDeclaringClass:()Ljava/lang/Class;
            astore 1 /* cursor */
         5: .line 259
      StackMap locals:
      StackMap stack:
            aload 1 /* cursor */
            ifnonnull 3
         6: .line 264
            aload 2 /* ognl */
            iconst_1
            aload 2 /* ognl */
            invokevirtual java.util.LinkedList.size:()I
            invokevirtual java.util.LinkedList.subList:(II)Ljava/util/List;
            ldc "."
            invokestatic org.reflections.util.Utils.join:(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;
            ldc ".$"
            ldc "$"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 3 /* classOgnl */
        start local 3 // java.lang.String classOgnl
         7: .line 265
            aload 3 /* classOgnl */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            areturn
        end local 3 // java.lang.String classOgnl
        end local 2 // java.util.LinkedList ognl
        end local 1 // java.lang.Class cursor
        end local 0 // java.lang.Class element
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0    element  Ljava/lang/Class;
            1    8     1     cursor  Ljava/lang/Class<*>;
            2    8     2       ognl  Ljava/util/LinkedList<Ljava/lang/String;>;
            7    8     3  classOgnl  Ljava/lang/String;
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/Class;)Ljava/lang/Class<*>;
    MethodParameters:
         Name  Flags
      element  final

  public static java.lang.Class<?> resolveClass(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Class aClass
         0: .line 270
            aload 0 /* aClass */
            invokestatic org.reflections.serializers.JavaCodeSerializer.resolveClassOf:(Ljava/lang/Class;)Ljava/lang/Class;
         1: areturn
         2: .line 271
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 272
            new org.reflections.ReflectionsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "could not resolve to class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* aClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial org.reflections.ReflectionsException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Exception e
        end local 0 // java.lang.Class aClass
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  aClass  Ljava/lang/Class;
            3    4     1       e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    Signature: (Ljava/lang/Class;)Ljava/lang/Class<*>;
    MethodParameters:
        Name  Flags
      aClass  final

  public static java.lang.reflect.Field resolveField(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/reflect/Field;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.lang.Class aField
         0: .line 278
            aload 0 /* aField */
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 279
            aload 0 /* aField */
            invokevirtual java.lang.Class.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getDeclaringClass:()Ljava/lang/Class;
            astore 2 /* declaringClass */
        start local 2 // java.lang.Class declaringClass
         2: .line 280
            aload 2 /* declaringClass */
            invokestatic org.reflections.serializers.JavaCodeSerializer.resolveClassOf:(Ljava/lang/Class;)Ljava/lang/Class;
            aload 1 /* name */
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
         3: areturn
        end local 2 // java.lang.Class declaringClass
        end local 1 // java.lang.String name
         4: .line 281
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         5: .line 282
            new org.reflections.ReflectionsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "could not resolve to field "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* aField */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial org.reflections.ReflectionsException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Exception e
        end local 0 // java.lang.Class aField
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0          aField  Ljava/lang/Class;
            1    4     1            name  Ljava/lang/String;
            2    4     2  declaringClass  Ljava/lang/Class<*>;
            5    6     1               e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Exception
    MethodParameters:
        Name  Flags
      aField  final

  public static java.lang.annotation.Annotation resolveAnnotation(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // java.lang.Class annotation
         0: .line 288
            aload 0 /* annotation */
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            ldc "_"
            ldc "."
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 289
            aload 0 /* annotation */
            invokevirtual java.lang.Class.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getDeclaringClass:()Ljava/lang/Class;
            astore 2 /* declaringClass */
        start local 2 // java.lang.Class declaringClass
         2: .line 290
            aload 2 /* declaringClass */
            invokestatic org.reflections.serializers.JavaCodeSerializer.resolveClassOf:(Ljava/lang/Class;)Ljava/lang/Class;
            astore 3 /* aClass */
        start local 3 // java.lang.Class aClass
         3: .line 291
            aload 1 /* name */
            iconst_0
            anewarray java.lang.ClassLoader
            invokestatic org.reflections.ReflectionUtils.forName:(Ljava/lang/String;[Ljava/lang/ClassLoader;)Ljava/lang/Class;
            astore 4 /* aClass1 */
        start local 4 // java.lang.Class aClass1
         4: .line 292
            aload 3 /* aClass */
            aload 4 /* aClass1 */
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            astore 5 /* annotation1 */
        start local 5 // java.lang.annotation.Annotation annotation1
         5: .line 293
            aload 5 /* annotation1 */
         6: areturn
        end local 5 // java.lang.annotation.Annotation annotation1
        end local 4 // java.lang.Class aClass1
        end local 3 // java.lang.Class aClass
        end local 2 // java.lang.Class declaringClass
        end local 1 // java.lang.String name
         7: .line 294
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         8: .line 295
            new org.reflections.ReflectionsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "could not resolve to annotation "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* annotation */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial org.reflections.ReflectionsException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Exception e
        end local 0 // java.lang.Class annotation
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0      annotation  Ljava/lang/Class;
            1    7     1            name  Ljava/lang/String;
            2    7     2  declaringClass  Ljava/lang/Class<*>;
            3    7     3          aClass  Ljava/lang/Class<*>;
            4    7     4         aClass1  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            5    7     5     annotation1  Ljava/lang/annotation/Annotation;
            8    9     1               e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     6       7  Class java.lang.Exception
    MethodParameters:
            Name  Flags
      annotation  

  public static java.lang.reflect.Method resolveMethod(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/reflect/Method;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // java.lang.Class aMethod
         0: .line 300
            aload 0 /* aMethod */
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            astore 1 /* methodOgnl */
        start local 1 // java.lang.String methodOgnl
         1: .line 305
            aload 1 /* methodOgnl */
            ldc "_"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 12
         2: .line 306
            aload 1 /* methodOgnl */
            iconst_0
            aload 1 /* methodOgnl */
            ldc "_"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* methodName */
        start local 2 // java.lang.String methodName
         3: .line 307
            aload 1 /* methodOgnl */
            aload 1 /* methodOgnl */
            ldc "_"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            ldc "__"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* params */
        start local 4 // java.lang.String[] params
         4: .line 308
            aload 4 /* params */
            arraylength
            anewarray java.lang.Class
            astore 3 /* paramTypes */
        start local 3 // java.lang.Class[] paramTypes
         5: .line 309
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 10
         7: .line 310
      StackMap locals: java.lang.Class java.lang.String java.lang.String java.lang.Class[] java.lang.String[] int
      StackMap stack:
            aload 4 /* params */
            iload 5 /* i */
            aaload
            ldc "$$"
            ldc "[]"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            ldc "_"
            ldc "."
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 6 /* typeName */
        start local 6 // java.lang.String typeName
         8: .line 311
            aload 3 /* paramTypes */
            iload 5 /* i */
            aload 6 /* typeName */
            iconst_0
            anewarray java.lang.ClassLoader
            invokestatic org.reflections.ReflectionUtils.forName:(Ljava/lang/String;[Ljava/lang/ClassLoader;)Ljava/lang/Class;
            aastore
        end local 6 // java.lang.String typeName
         9: .line 309
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            aload 4 /* params */
            arraylength
            if_icmplt 7
        end local 5 // int i
        end local 4 // java.lang.String[] params
        11: .line 313
            goto 14
        end local 3 // java.lang.Class[] paramTypes
        end local 2 // java.lang.String methodName
        12: .line 314
      StackMap locals: java.lang.Class java.lang.String
      StackMap stack:
            aload 1 /* methodOgnl */
            astore 2 /* methodName */
        start local 2 // java.lang.String methodName
        13: .line 315
            aconst_null
            astore 3 /* paramTypes */
        start local 3 // java.lang.Class[] paramTypes
        14: .line 318
      StackMap locals: java.lang.String java.lang.Class[]
      StackMap stack:
            aload 0 /* aMethod */
            invokevirtual java.lang.Class.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getDeclaringClass:()Ljava/lang/Class;
            astore 4 /* declaringClass */
        start local 4 // java.lang.Class declaringClass
        15: .line 319
            aload 4 /* declaringClass */
            invokestatic org.reflections.serializers.JavaCodeSerializer.resolveClassOf:(Ljava/lang/Class;)Ljava/lang/Class;
            aload 2 /* methodName */
            aload 3 /* paramTypes */
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
        16: areturn
        end local 4 // java.lang.Class declaringClass
        end local 3 // java.lang.Class[] paramTypes
        end local 2 // java.lang.String methodName
        17: .line 320
      StackMap locals: java.lang.Class java.lang.String
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        18: .line 321
            new org.reflections.ReflectionsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "could not resolve to method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* aMethod */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* e */
            invokespecial org.reflections.ReflectionsException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Exception e
        end local 1 // java.lang.String methodOgnl
        end local 0 // java.lang.Class aMethod
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0         aMethod  Ljava/lang/Class;
            1   19     1      methodOgnl  Ljava/lang/String;
            3   12     2      methodName  Ljava/lang/String;
           13   17     2      methodName  Ljava/lang/String;
            5   12     3      paramTypes  [Ljava/lang/Class;
           14   17     3      paramTypes  [Ljava/lang/Class;
            4   11     4          params  [Ljava/lang/String;
            6   11     5               i  I
            8    9     6        typeName  Ljava/lang/String;
           15   17     4  declaringClass  Ljava/lang/Class<*>;
           18   19     2               e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1    16      17  Class java.lang.Exception
    MethodParameters:
         Name  Flags
      aMethod  final
}
SourceFile: "JavaCodeSerializer.java"