public class net.sf.cglib.beans.BeanCopier$Generator extends net.sf.cglib.core.AbstractClassGenerator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.sf.cglib.beans.BeanCopier$Generator
  super_class: net.sf.cglib.core.AbstractClassGenerator
{
  private static final net.sf.cglib.core.AbstractClassGenerator$Source SOURCE;
    descriptor: Lnet/sf/cglib/core/AbstractClassGenerator$Source;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.lang.Class source;
    descriptor: Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Class target;
    descriptor: Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE

  private boolean useConverter;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 57
            new net.sf.cglib.core.AbstractClassGenerator$Source
            dup
            ldc Lnet/sf/cglib/beans/BeanCopier;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokespecial net.sf.cglib.core.AbstractClassGenerator$Source.<init>:(Ljava/lang/String;)V
            putstatic net.sf.cglib.beans.BeanCopier$Generator.SOURCE:Lnet/sf/cglib/core/AbstractClassGenerator$Source;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.beans.BeanCopier$Generator this
         0: .line 63
            aload 0 /* this */
            getstatic net.sf.cglib.beans.BeanCopier$Generator.SOURCE:Lnet/sf/cglib/core/AbstractClassGenerator$Source;
            invokespecial net.sf.cglib.core.AbstractClassGenerator.<init>:(Lnet/sf/cglib/core/AbstractClassGenerator$Source;)V
         1: .line 64
            return
        end local 0 // net.sf.cglib.beans.BeanCopier$Generator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/beans/BeanCopier$Generator;

  public void setSource(java.lang.Class);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // net.sf.cglib.beans.BeanCopier$Generator this
        start local 1 // java.lang.Class source
         0: .line 67
            aload 1 /* source */
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifne 2
         1: .line 68
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual net.sf.cglib.beans.BeanCopier$Generator.setNamePrefix:(Ljava/lang/String;)V
         2: .line 70
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* source */
            putfield net.sf.cglib.beans.BeanCopier$Generator.source:Ljava/lang/Class;
         3: .line 71
            return
        end local 1 // java.lang.Class source
        end local 0 // net.sf.cglib.beans.BeanCopier$Generator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lnet/sf/cglib/beans/BeanCopier$Generator;
            0    4     1  source  Ljava/lang/Class;
    MethodParameters:
        Name  Flags
      source  

  public void setTarget(java.lang.Class);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // net.sf.cglib.beans.BeanCopier$Generator this
        start local 1 // java.lang.Class target
         0: .line 74
            aload 1 /* target */
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifne 2
         1: .line 75
            aload 0 /* this */
            aload 1 /* target */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual net.sf.cglib.beans.BeanCopier$Generator.setNamePrefix:(Ljava/lang/String;)V
         2: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* target */
            putfield net.sf.cglib.beans.BeanCopier$Generator.target:Ljava/lang/Class;
         3: .line 79
            return
        end local 1 // java.lang.Class target
        end local 0 // net.sf.cglib.beans.BeanCopier$Generator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lnet/sf/cglib/beans/BeanCopier$Generator;
            0    4     1  target  Ljava/lang/Class;
    MethodParameters:
        Name  Flags
      target  

  public void setUseConverter(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // net.sf.cglib.beans.BeanCopier$Generator this
        start local 1 // boolean useConverter
         0: .line 82
            aload 0 /* this */
            iload 1 /* useConverter */
            putfield net.sf.cglib.beans.BeanCopier$Generator.useConverter:Z
         1: .line 83
            return
        end local 1 // boolean useConverter
        end local 0 // net.sf.cglib.beans.BeanCopier$Generator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lnet/sf/cglib/beans/BeanCopier$Generator;
            0    2     1  useConverter  Z
    MethodParameters:
              Name  Flags
      useConverter  

  protected java.lang.ClassLoader getDefaultClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.sf.cglib.beans.BeanCopier$Generator this
         0: .line 86
            aload 0 /* this */
            getfield net.sf.cglib.beans.BeanCopier$Generator.source:Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            areturn
        end local 0 // net.sf.cglib.beans.BeanCopier$Generator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/beans/BeanCopier$Generator;

  protected java.security.ProtectionDomain getProtectionDomain();
    descriptor: ()Ljava/security/ProtectionDomain;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.sf.cglib.beans.BeanCopier$Generator this
         0: .line 90
            aload 0 /* this */
            getfield net.sf.cglib.beans.BeanCopier$Generator.source:Ljava/lang/Class;
            invokestatic net.sf.cglib.core.ReflectUtils.getProtectionDomain:(Ljava/lang/Class;)Ljava/security/ProtectionDomain;
            areturn
        end local 0 // net.sf.cglib.beans.BeanCopier$Generator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/beans/BeanCopier$Generator;

  public net.sf.cglib.beans.BeanCopier create();
    descriptor: ()Lnet/sf/cglib/beans/BeanCopier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // net.sf.cglib.beans.BeanCopier$Generator this
         0: .line 94
            getstatic net.sf.cglib.beans.BeanCopier.KEY_FACTORY:Lnet/sf/cglib/beans/BeanCopier$BeanCopierKey;
            aload 0 /* this */
            getfield net.sf.cglib.beans.BeanCopier$Generator.source:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 0 /* this */
            getfield net.sf.cglib.beans.BeanCopier$Generator.target:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 0 /* this */
            getfield net.sf.cglib.beans.BeanCopier$Generator.useConverter:Z
            invokeinterface net.sf.cglib.beans.BeanCopier$BeanCopierKey.newInstance:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/Object;
            astore 1 /* key */
        start local 1 // java.lang.Object key
         1: .line 95
            aload 0 /* this */
            aload 1 /* key */
            invokespecial net.sf.cglib.core.AbstractClassGenerator.create:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast net.sf.cglib.beans.BeanCopier
            areturn
        end local 1 // java.lang.Object key
        end local 0 // net.sf.cglib.beans.BeanCopier$Generator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/beans/BeanCopier$Generator;
            1    2     1   key  Ljava/lang/Object;

  public void generateClass(org.objectweb.asm.ClassVisitor);
    descriptor: (Lorg/objectweb/asm/ClassVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=17, args_size=2
        start local 0 // net.sf.cglib.beans.BeanCopier$Generator this
        start local 1 // org.objectweb.asm.ClassVisitor v
         0: .line 99
            aload 0 /* this */
            getfield net.sf.cglib.beans.BeanCopier$Generator.source:Ljava/lang/Class;
            invokestatic org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Lorg/objectweb/asm/Type;
            astore 2 /* sourceType */
        start local 2 // org.objectweb.asm.Type sourceType
         1: .line 100
            aload 0 /* this */
            getfield net.sf.cglib.beans.BeanCopier$Generator.target:Ljava/lang/Class;
            invokestatic org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Lorg/objectweb/asm/Type;
            astore 3 /* targetType */
        start local 3 // org.objectweb.asm.Type targetType
         2: .line 101
            new net.sf.cglib.core.ClassEmitter
            dup
            aload 1 /* v */
            invokespecial net.sf.cglib.core.ClassEmitter.<init>:(Lorg/objectweb/asm/ClassVisitor;)V
            astore 4 /* ce */
        start local 4 // net.sf.cglib.core.ClassEmitter ce
         3: .line 102
            aload 4 /* ce */
            bipush 52
         4: .line 103
            iconst_1
         5: .line 104
            aload 0 /* this */
            invokevirtual net.sf.cglib.beans.BeanCopier$Generator.getClassName:()Ljava/lang/String;
         6: .line 105
            getstatic net.sf.cglib.beans.BeanCopier.BEAN_COPIER:Lorg/objectweb/asm/Type;
         7: .line 106
            aconst_null
         8: .line 107
            ldc "<generated>"
         9: .line 102
            invokevirtual net.sf.cglib.core.ClassEmitter.begin_class:(IILjava/lang/String;Lorg/objectweb/asm/Type;[Lorg/objectweb/asm/Type;Ljava/lang/String;)V
        10: .line 109
            aload 4 /* ce */
            invokestatic net.sf.cglib.core.EmitUtils.null_constructor:(Lnet/sf/cglib/core/ClassEmitter;)V
        11: .line 110
            aload 4 /* ce */
            iconst_1
            getstatic net.sf.cglib.beans.BeanCopier.COPY:Lnet/sf/cglib/core/Signature;
            aconst_null
            invokevirtual net.sf.cglib.core.ClassEmitter.begin_method:(ILnet/sf/cglib/core/Signature;[Lorg/objectweb/asm/Type;)Lnet/sf/cglib/core/CodeEmitter;
            astore 5 /* e */
        start local 5 // net.sf.cglib.core.CodeEmitter e
        12: .line 111
            aload 0 /* this */
            getfield net.sf.cglib.beans.BeanCopier$Generator.source:Ljava/lang/Class;
            invokestatic net.sf.cglib.core.ReflectUtils.getBeanGetters:(Ljava/lang/Class;)[Ljava/beans/PropertyDescriptor;
            astore 6 /* getters */
        start local 6 // java.beans.PropertyDescriptor[] getters
        13: .line 112
            aload 0 /* this */
            getfield net.sf.cglib.beans.BeanCopier$Generator.target:Ljava/lang/Class;
            invokestatic net.sf.cglib.core.ReflectUtils.getBeanSetters:(Ljava/lang/Class;)[Ljava/beans/PropertyDescriptor;
            astore 7 /* setters */
        start local 7 // java.beans.PropertyDescriptor[] setters
        14: .line 114
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 8 /* names */
        start local 8 // java.util.Map names
        15: .line 115
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        16: goto 19
        17: .line 116
      StackMap locals: net.sf.cglib.beans.BeanCopier$Generator org.objectweb.asm.ClassVisitor org.objectweb.asm.Type org.objectweb.asm.Type net.sf.cglib.core.ClassEmitter net.sf.cglib.core.CodeEmitter java.beans.PropertyDescriptor[] java.beans.PropertyDescriptor[] java.util.Map int
      StackMap stack:
            aload 8 /* names */
            aload 6 /* getters */
            iload 9 /* i */
            aaload
            invokevirtual java.beans.PropertyDescriptor.getName:()Ljava/lang/String;
            aload 6 /* getters */
            iload 9 /* i */
            aaload
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 115
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 9 /* i */
            aload 6 /* getters */
            arraylength
            if_icmplt 17
        end local 9 // int i
        20: .line 118
            aload 5 /* e */
            invokevirtual net.sf.cglib.core.CodeEmitter.make_local:()Lnet/sf/cglib/core/Local;
            astore 9 /* targetLocal */
        start local 9 // net.sf.cglib.core.Local targetLocal
        21: .line 119
            aload 5 /* e */
            invokevirtual net.sf.cglib.core.CodeEmitter.make_local:()Lnet/sf/cglib/core/Local;
            astore 10 /* sourceLocal */
        start local 10 // net.sf.cglib.core.Local sourceLocal
        22: .line 120
            aload 0 /* this */
            getfield net.sf.cglib.beans.BeanCopier$Generator.useConverter:Z
            ifeq 30
        23: .line 121
            aload 5 /* e */
            iconst_1
            invokevirtual net.sf.cglib.core.CodeEmitter.load_arg:(I)V
        24: .line 122
            aload 5 /* e */
            aload 3 /* targetType */
            invokevirtual net.sf.cglib.core.CodeEmitter.checkcast:(Lorg/objectweb/asm/Type;)V
        25: .line 123
            aload 5 /* e */
            aload 9 /* targetLocal */
            invokevirtual net.sf.cglib.core.CodeEmitter.store_local:(Lnet/sf/cglib/core/Local;)V
        26: .line 124
            aload 5 /* e */
            iconst_0
            invokevirtual net.sf.cglib.core.CodeEmitter.load_arg:(I)V
        27: .line 125
            aload 5 /* e */
            aload 2 /* sourceType */
            invokevirtual net.sf.cglib.core.CodeEmitter.checkcast:(Lorg/objectweb/asm/Type;)V
        28: .line 126
            aload 5 /* e */
            aload 10 /* sourceLocal */
            invokevirtual net.sf.cglib.core.CodeEmitter.store_local:(Lnet/sf/cglib/core/Local;)V
        29: .line 127
            goto 34
        30: .line 128
      StackMap locals: net.sf.cglib.beans.BeanCopier$Generator org.objectweb.asm.ClassVisitor org.objectweb.asm.Type org.objectweb.asm.Type net.sf.cglib.core.ClassEmitter net.sf.cglib.core.CodeEmitter java.beans.PropertyDescriptor[] java.beans.PropertyDescriptor[] java.util.Map net.sf.cglib.core.Local net.sf.cglib.core.Local
      StackMap stack:
            aload 5 /* e */
            iconst_1
            invokevirtual net.sf.cglib.core.CodeEmitter.load_arg:(I)V
        31: .line 129
            aload 5 /* e */
            aload 3 /* targetType */
            invokevirtual net.sf.cglib.core.CodeEmitter.checkcast:(Lorg/objectweb/asm/Type;)V
        32: .line 130
            aload 5 /* e */
            iconst_0
            invokevirtual net.sf.cglib.core.CodeEmitter.load_arg:(I)V
        33: .line 131
            aload 5 /* e */
            aload 2 /* sourceType */
            invokevirtual net.sf.cglib.core.CodeEmitter.checkcast:(Lorg/objectweb/asm/Type;)V
        34: .line 133
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        35: goto 59
        36: .line 134
      StackMap locals: int
      StackMap stack:
            aload 7 /* setters */
            iload 11 /* i */
            aaload
            astore 12 /* setter */
        start local 12 // java.beans.PropertyDescriptor setter
        37: .line 135
            aload 8 /* names */
            aload 12 /* setter */
            invokevirtual java.beans.PropertyDescriptor.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.beans.PropertyDescriptor
            astore 13 /* getter */
        start local 13 // java.beans.PropertyDescriptor getter
        38: .line 136
            aload 13 /* getter */
            ifnull 58
        39: .line 137
            aload 13 /* getter */
            invokevirtual java.beans.PropertyDescriptor.getReadMethod:()Ljava/lang/reflect/Method;
            invokestatic net.sf.cglib.core.ReflectUtils.getMethodInfo:(Ljava/lang/reflect/Member;)Lnet/sf/cglib/core/MethodInfo;
            astore 14 /* read */
        start local 14 // net.sf.cglib.core.MethodInfo read
        40: .line 138
            aload 12 /* setter */
            invokevirtual java.beans.PropertyDescriptor.getWriteMethod:()Ljava/lang/reflect/Method;
            invokestatic net.sf.cglib.core.ReflectUtils.getMethodInfo:(Ljava/lang/reflect/Member;)Lnet/sf/cglib/core/MethodInfo;
            astore 15 /* write */
        start local 15 // net.sf.cglib.core.MethodInfo write
        41: .line 139
            aload 0 /* this */
            getfield net.sf.cglib.beans.BeanCopier$Generator.useConverter:Z
            ifeq 54
        42: .line 140
            aload 15 /* write */
            invokevirtual net.sf.cglib.core.MethodInfo.getSignature:()Lnet/sf/cglib/core/Signature;
            invokevirtual net.sf.cglib.core.Signature.getArgumentTypes:()[Lorg/objectweb/asm/Type;
            iconst_0
            aaload
            astore 16 /* setterType */
        start local 16 // org.objectweb.asm.Type setterType
        43: .line 141
            aload 5 /* e */
            aload 9 /* targetLocal */
            invokevirtual net.sf.cglib.core.CodeEmitter.load_local:(Lnet/sf/cglib/core/Local;)V
        44: .line 142
            aload 5 /* e */
            iconst_2
            invokevirtual net.sf.cglib.core.CodeEmitter.load_arg:(I)V
        45: .line 143
            aload 5 /* e */
            aload 10 /* sourceLocal */
            invokevirtual net.sf.cglib.core.CodeEmitter.load_local:(Lnet/sf/cglib/core/Local;)V
        46: .line 144
            aload 5 /* e */
            aload 14 /* read */
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke:(Lnet/sf/cglib/core/MethodInfo;)V
        47: .line 145
            aload 5 /* e */
            aload 14 /* read */
            invokevirtual net.sf.cglib.core.MethodInfo.getSignature:()Lnet/sf/cglib/core/Signature;
            invokevirtual net.sf.cglib.core.Signature.getReturnType:()Lorg/objectweb/asm/Type;
            invokevirtual net.sf.cglib.core.CodeEmitter.box:(Lorg/objectweb/asm/Type;)V
        48: .line 146
            aload 5 /* e */
            aload 16 /* setterType */
            invokestatic net.sf.cglib.core.EmitUtils.load_class:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;)V
        49: .line 147
            aload 5 /* e */
            aload 15 /* write */
            invokevirtual net.sf.cglib.core.MethodInfo.getSignature:()Lnet/sf/cglib/core/Signature;
            invokevirtual net.sf.cglib.core.Signature.getName:()Ljava/lang/String;
            invokevirtual net.sf.cglib.core.CodeEmitter.push:(Ljava/lang/String;)V
        50: .line 148
            aload 5 /* e */
            getstatic net.sf.cglib.beans.BeanCopier.CONVERTER:Lorg/objectweb/asm/Type;
            getstatic net.sf.cglib.beans.BeanCopier.CONVERT:Lnet/sf/cglib/core/Signature;
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke_interface:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
        51: .line 149
            aload 5 /* e */
            aload 16 /* setterType */
            invokevirtual net.sf.cglib.core.CodeEmitter.unbox_or_zero:(Lorg/objectweb/asm/Type;)V
        52: .line 150
            aload 5 /* e */
            aload 15 /* write */
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke:(Lnet/sf/cglib/core/MethodInfo;)V
        end local 16 // org.objectweb.asm.Type setterType
        53: .line 151
            goto 58
      StackMap locals: net.sf.cglib.beans.BeanCopier$Generator org.objectweb.asm.ClassVisitor org.objectweb.asm.Type org.objectweb.asm.Type net.sf.cglib.core.ClassEmitter net.sf.cglib.core.CodeEmitter java.beans.PropertyDescriptor[] java.beans.PropertyDescriptor[] java.util.Map net.sf.cglib.core.Local net.sf.cglib.core.Local int java.beans.PropertyDescriptor java.beans.PropertyDescriptor net.sf.cglib.core.MethodInfo net.sf.cglib.core.MethodInfo
      StackMap stack:
        54: aload 13 /* getter */
            aload 12 /* setter */
            invokestatic net.sf.cglib.beans.BeanCopier$Generator.compatible:(Ljava/beans/PropertyDescriptor;Ljava/beans/PropertyDescriptor;)Z
            ifeq 58
        55: .line 152
            aload 5 /* e */
            invokevirtual net.sf.cglib.core.CodeEmitter.dup2:()V
        56: .line 153
            aload 5 /* e */
            aload 14 /* read */
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke:(Lnet/sf/cglib/core/MethodInfo;)V
        57: .line 154
            aload 5 /* e */
            aload 15 /* write */
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke:(Lnet/sf/cglib/core/MethodInfo;)V
        end local 15 // net.sf.cglib.core.MethodInfo write
        end local 14 // net.sf.cglib.core.MethodInfo read
        end local 13 // java.beans.PropertyDescriptor getter
        end local 12 // java.beans.PropertyDescriptor setter
        58: .line 133
      StackMap locals: net.sf.cglib.beans.BeanCopier$Generator org.objectweb.asm.ClassVisitor org.objectweb.asm.Type org.objectweb.asm.Type net.sf.cglib.core.ClassEmitter net.sf.cglib.core.CodeEmitter java.beans.PropertyDescriptor[] java.beans.PropertyDescriptor[] java.util.Map net.sf.cglib.core.Local net.sf.cglib.core.Local int
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        59: iload 11 /* i */
            aload 7 /* setters */
            arraylength
            if_icmplt 36
        end local 11 // int i
        60: .line 158
            aload 5 /* e */
            invokevirtual net.sf.cglib.core.CodeEmitter.return_value:()V
        61: .line 159
            aload 5 /* e */
            invokevirtual net.sf.cglib.core.CodeEmitter.end_method:()V
        62: .line 160
            aload 4 /* ce */
            invokevirtual net.sf.cglib.core.ClassEmitter.end_class:()V
        63: .line 161
            return
        end local 10 // net.sf.cglib.core.Local sourceLocal
        end local 9 // net.sf.cglib.core.Local targetLocal
        end local 8 // java.util.Map names
        end local 7 // java.beans.PropertyDescriptor[] setters
        end local 6 // java.beans.PropertyDescriptor[] getters
        end local 5 // net.sf.cglib.core.CodeEmitter e
        end local 4 // net.sf.cglib.core.ClassEmitter ce
        end local 3 // org.objectweb.asm.Type targetType
        end local 2 // org.objectweb.asm.Type sourceType
        end local 1 // org.objectweb.asm.ClassVisitor v
        end local 0 // net.sf.cglib.beans.BeanCopier$Generator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   64     0         this  Lnet/sf/cglib/beans/BeanCopier$Generator;
            0   64     1            v  Lorg/objectweb/asm/ClassVisitor;
            1   64     2   sourceType  Lorg/objectweb/asm/Type;
            2   64     3   targetType  Lorg/objectweb/asm/Type;
            3   64     4           ce  Lnet/sf/cglib/core/ClassEmitter;
           12   64     5            e  Lnet/sf/cglib/core/CodeEmitter;
           13   64     6      getters  [Ljava/beans/PropertyDescriptor;
           14   64     7      setters  [Ljava/beans/PropertyDescriptor;
           15   64     8        names  Ljava/util/Map;
           16   20     9            i  I
           21   64     9  targetLocal  Lnet/sf/cglib/core/Local;
           22   64    10  sourceLocal  Lnet/sf/cglib/core/Local;
           35   60    11            i  I
           37   58    12       setter  Ljava/beans/PropertyDescriptor;
           38   58    13       getter  Ljava/beans/PropertyDescriptor;
           40   58    14         read  Lnet/sf/cglib/core/MethodInfo;
           41   58    15        write  Lnet/sf/cglib/core/MethodInfo;
           43   53    16   setterType  Lorg/objectweb/asm/Type;
    MethodParameters:
      Name  Flags
      v     

  private static boolean compatible(java.beans.PropertyDescriptor, java.beans.PropertyDescriptor);
    descriptor: (Ljava/beans/PropertyDescriptor;Ljava/beans/PropertyDescriptor;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.beans.PropertyDescriptor getter
        start local 1 // java.beans.PropertyDescriptor setter
         0: .line 165
            aload 1 /* setter */
            invokevirtual java.beans.PropertyDescriptor.getPropertyType:()Ljava/lang/Class;
            aload 0 /* getter */
            invokevirtual java.beans.PropertyDescriptor.getPropertyType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ireturn
        end local 1 // java.beans.PropertyDescriptor setter
        end local 0 // java.beans.PropertyDescriptor getter
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  getter  Ljava/beans/PropertyDescriptor;
            0    1     1  setter  Ljava/beans/PropertyDescriptor;
    MethodParameters:
        Name  Flags
      getter  
      setter  

  protected java.lang.Object firstInstance(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // net.sf.cglib.beans.BeanCopier$Generator this
        start local 1 // java.lang.Class type
         0: .line 169
            aload 1 /* type */
            invokestatic net.sf.cglib.core.ReflectUtils.newInstance:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Class type
        end local 0 // net.sf.cglib.beans.BeanCopier$Generator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/beans/BeanCopier$Generator;
            0    1     1  type  Ljava/lang/Class;
    MethodParameters:
      Name  Flags
      type  

  protected java.lang.Object nextInstance(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // net.sf.cglib.beans.BeanCopier$Generator this
        start local 1 // java.lang.Object instance
         0: .line 173
            aload 1 /* instance */
            areturn
        end local 1 // java.lang.Object instance
        end local 0 // net.sf.cglib.beans.BeanCopier$Generator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lnet/sf/cglib/beans/BeanCopier$Generator;
            0    1     1  instance  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      instance  
}
SourceFile: "BeanCopier.java"
NestHost: net.sf.cglib.beans.BeanCopier
InnerClasses:
  abstract BeanCopierKey = net.sf.cglib.beans.BeanCopier$BeanCopierKey of net.sf.cglib.beans.BeanCopier
  public Generator = net.sf.cglib.beans.BeanCopier$Generator of net.sf.cglib.beans.BeanCopier
  protected Source = net.sf.cglib.core.AbstractClassGenerator$Source of net.sf.cglib.core.AbstractClassGenerator