class java.beans.GenericBeanInfo extends java.beans.SimpleBeanInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.beans.GenericBeanInfo
  super_class: java.beans.SimpleBeanInfo
{
  private java.beans.BeanDescriptor beanDescriptor;
    descriptor: Ljava/beans/BeanDescriptor;
    flags: (0x0002) ACC_PRIVATE

  private java.beans.EventSetDescriptor[] events;
    descriptor: [Ljava/beans/EventSetDescriptor;
    flags: (0x0002) ACC_PRIVATE

  private int defaultEvent;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.beans.PropertyDescriptor[] properties;
    descriptor: [Ljava/beans/PropertyDescriptor;
    flags: (0x0002) ACC_PRIVATE

  private int defaultProperty;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.beans.MethodDescriptor[] methods;
    descriptor: [Ljava/beans/MethodDescriptor;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.ref.Reference<java.beans.BeanInfo> targetBeanInfoRef;
    descriptor: Ljava/lang/ref/Reference;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/ref/Reference<Ljava/beans/BeanInfo;>;

  public void <init>(java.beans.BeanDescriptor, java.beans.EventSetDescriptor[], int, java.beans.PropertyDescriptor[], int, java.beans.MethodDescriptor[], java.beans.BeanInfo);
    descriptor: (Ljava/beans/BeanDescriptor;[Ljava/beans/EventSetDescriptor;I[Ljava/beans/PropertyDescriptor;I[Ljava/beans/MethodDescriptor;Ljava/beans/BeanInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=8
        start local 0 // java.beans.GenericBeanInfo this
        start local 1 // java.beans.BeanDescriptor beanDescriptor
        start local 2 // java.beans.EventSetDescriptor[] events
        start local 3 // int defaultEvent
        start local 4 // java.beans.PropertyDescriptor[] properties
        start local 5 // int defaultProperty
        start local 6 // java.beans.MethodDescriptor[] methods
        start local 7 // java.beans.BeanInfo targetBeanInfo
         0: .line 1533
            aload 0 /* this */
            invokespecial java.beans.SimpleBeanInfo.<init>:()V
         1: .line 1537
            aload 0 /* this */
            aload 1 /* beanDescriptor */
            putfield java.beans.GenericBeanInfo.beanDescriptor:Ljava/beans/BeanDescriptor;
         2: .line 1538
            aload 0 /* this */
            aload 2 /* events */
            putfield java.beans.GenericBeanInfo.events:[Ljava/beans/EventSetDescriptor;
         3: .line 1539
            aload 0 /* this */
            iload 3 /* defaultEvent */
            putfield java.beans.GenericBeanInfo.defaultEvent:I
         4: .line 1540
            aload 0 /* this */
            aload 4 /* properties */
            putfield java.beans.GenericBeanInfo.properties:[Ljava/beans/PropertyDescriptor;
         5: .line 1541
            aload 0 /* this */
            iload 5 /* defaultProperty */
            putfield java.beans.GenericBeanInfo.defaultProperty:I
         6: .line 1542
            aload 0 /* this */
            aload 6 /* methods */
            putfield java.beans.GenericBeanInfo.methods:[Ljava/beans/MethodDescriptor;
         7: .line 1543
            aload 0 /* this */
            aload 7 /* targetBeanInfo */
            ifnull 9
         8: .line 1544
            new java.lang.ref.SoftReference
            dup
            aload 7 /* targetBeanInfo */
            invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
            goto 10
         9: .line 1545
      StackMap locals: java.beans.GenericBeanInfo java.beans.BeanDescriptor java.beans.EventSetDescriptor[] int java.beans.PropertyDescriptor[] int java.beans.MethodDescriptor[] java.beans.BeanInfo
      StackMap stack: java.beans.GenericBeanInfo
            aconst_null
        10: .line 1543
      StackMap locals: java.beans.GenericBeanInfo java.beans.BeanDescriptor java.beans.EventSetDescriptor[] int java.beans.PropertyDescriptor[] int java.beans.MethodDescriptor[] java.beans.BeanInfo
      StackMap stack: java.beans.GenericBeanInfo java.lang.ref.SoftReference
            putfield java.beans.GenericBeanInfo.targetBeanInfoRef:Ljava/lang/ref/Reference;
        11: .line 1546
            return
        end local 7 // java.beans.BeanInfo targetBeanInfo
        end local 6 // java.beans.MethodDescriptor[] methods
        end local 5 // int defaultProperty
        end local 4 // java.beans.PropertyDescriptor[] properties
        end local 3 // int defaultEvent
        end local 2 // java.beans.EventSetDescriptor[] events
        end local 1 // java.beans.BeanDescriptor beanDescriptor
        end local 0 // java.beans.GenericBeanInfo this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0             this  Ljava/beans/GenericBeanInfo;
            0   12     1   beanDescriptor  Ljava/beans/BeanDescriptor;
            0   12     2           events  [Ljava/beans/EventSetDescriptor;
            0   12     3     defaultEvent  I
            0   12     4       properties  [Ljava/beans/PropertyDescriptor;
            0   12     5  defaultProperty  I
            0   12     6          methods  [Ljava/beans/MethodDescriptor;
            0   12     7   targetBeanInfo  Ljava/beans/BeanInfo;
    MethodParameters:
                 Name  Flags
      beanDescriptor   
      events           
      defaultEvent     
      properties       
      defaultProperty  
      methods          
      targetBeanInfo   

  void <init>(java.beans.GenericBeanInfo);
    descriptor: (Ljava/beans/GenericBeanInfo;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // java.beans.GenericBeanInfo this
        start local 1 // java.beans.GenericBeanInfo old
         0: .line 1552
            aload 0 /* this */
            invokespecial java.beans.SimpleBeanInfo.<init>:()V
         1: .line 1554
            aload 0 /* this */
            new java.beans.BeanDescriptor
            dup
            aload 1 /* old */
            getfield java.beans.GenericBeanInfo.beanDescriptor:Ljava/beans/BeanDescriptor;
            invokespecial java.beans.BeanDescriptor.<init>:(Ljava/beans/BeanDescriptor;)V
            putfield java.beans.GenericBeanInfo.beanDescriptor:Ljava/beans/BeanDescriptor;
         2: .line 1555
            aload 1 /* old */
            getfield java.beans.GenericBeanInfo.events:[Ljava/beans/EventSetDescriptor;
            ifnull 10
         3: .line 1556
            aload 1 /* old */
            getfield java.beans.GenericBeanInfo.events:[Ljava/beans/EventSetDescriptor;
            arraylength
            istore 2 /* len */
        start local 2 // int len
         4: .line 1557
            aload 0 /* this */
            iload 2 /* len */
            anewarray java.beans.EventSetDescriptor
            putfield java.beans.GenericBeanInfo.events:[Ljava/beans/EventSetDescriptor;
         5: .line 1558
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 9
         7: .line 1559
      StackMap locals: java.beans.GenericBeanInfo java.beans.GenericBeanInfo int int
      StackMap stack:
            aload 0 /* this */
            getfield java.beans.GenericBeanInfo.events:[Ljava/beans/EventSetDescriptor;
            iload 3 /* i */
            new java.beans.EventSetDescriptor
            dup
            aload 1 /* old */
            getfield java.beans.GenericBeanInfo.events:[Ljava/beans/EventSetDescriptor;
            iload 3 /* i */
            aaload
            invokespecial java.beans.EventSetDescriptor.<init>:(Ljava/beans/EventSetDescriptor;)V
            aastore
         8: .line 1558
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 7
        end local 3 // int i
        end local 2 // int len
        10: .line 1562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* old */
            getfield java.beans.GenericBeanInfo.defaultEvent:I
            putfield java.beans.GenericBeanInfo.defaultEvent:I
        11: .line 1563
            aload 1 /* old */
            getfield java.beans.GenericBeanInfo.properties:[Ljava/beans/PropertyDescriptor;
            ifnull 25
        12: .line 1564
            aload 1 /* old */
            getfield java.beans.GenericBeanInfo.properties:[Ljava/beans/PropertyDescriptor;
            arraylength
            istore 2 /* len */
        start local 2 // int len
        13: .line 1565
            aload 0 /* this */
            iload 2 /* len */
            anewarray java.beans.PropertyDescriptor
            putfield java.beans.GenericBeanInfo.properties:[Ljava/beans/PropertyDescriptor;
        14: .line 1566
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        15: goto 24
        16: .line 1567
      StackMap locals: int int
      StackMap stack:
            aload 1 /* old */
            getfield java.beans.GenericBeanInfo.properties:[Ljava/beans/PropertyDescriptor;
            iload 3 /* i */
            aaload
            astore 4 /* oldp */
        start local 4 // java.beans.PropertyDescriptor oldp
        17: .line 1568
            aload 4 /* oldp */
            instanceof java.beans.IndexedPropertyDescriptor
            ifeq 22
        18: .line 1569
            aload 0 /* this */
            getfield java.beans.GenericBeanInfo.properties:[Ljava/beans/PropertyDescriptor;
            iload 3 /* i */
            new java.beans.IndexedPropertyDescriptor
            dup
        19: .line 1570
            aload 4 /* oldp */
            checkcast java.beans.IndexedPropertyDescriptor
            invokespecial java.beans.IndexedPropertyDescriptor.<init>:(Ljava/beans/IndexedPropertyDescriptor;)V
        20: .line 1569
            aastore
        21: .line 1571
            goto 23
        22: .line 1572
      StackMap locals: java.beans.PropertyDescriptor
      StackMap stack:
            aload 0 /* this */
            getfield java.beans.GenericBeanInfo.properties:[Ljava/beans/PropertyDescriptor;
            iload 3 /* i */
            new java.beans.PropertyDescriptor
            dup
            aload 4 /* oldp */
            invokespecial java.beans.PropertyDescriptor.<init>:(Ljava/beans/PropertyDescriptor;)V
            aastore
        end local 4 // java.beans.PropertyDescriptor oldp
        23: .line 1566
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 16
        end local 3 // int i
        end local 2 // int len
        25: .line 1576
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* old */
            getfield java.beans.GenericBeanInfo.defaultProperty:I
            putfield java.beans.GenericBeanInfo.defaultProperty:I
        26: .line 1577
            aload 1 /* old */
            getfield java.beans.GenericBeanInfo.methods:[Ljava/beans/MethodDescriptor;
            ifnull 34
        27: .line 1578
            aload 1 /* old */
            getfield java.beans.GenericBeanInfo.methods:[Ljava/beans/MethodDescriptor;
            arraylength
            istore 2 /* len */
        start local 2 // int len
        28: .line 1579
            aload 0 /* this */
            iload 2 /* len */
            anewarray java.beans.MethodDescriptor
            putfield java.beans.GenericBeanInfo.methods:[Ljava/beans/MethodDescriptor;
        29: .line 1580
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        30: goto 33
        31: .line 1581
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield java.beans.GenericBeanInfo.methods:[Ljava/beans/MethodDescriptor;
            iload 3 /* i */
            new java.beans.MethodDescriptor
            dup
            aload 1 /* old */
            getfield java.beans.GenericBeanInfo.methods:[Ljava/beans/MethodDescriptor;
            iload 3 /* i */
            aaload
            invokespecial java.beans.MethodDescriptor.<init>:(Ljava/beans/MethodDescriptor;)V
            aastore
        32: .line 1580
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 31
        end local 3 // int i
        end local 2 // int len
        34: .line 1584
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* old */
            getfield java.beans.GenericBeanInfo.targetBeanInfoRef:Ljava/lang/ref/Reference;
            putfield java.beans.GenericBeanInfo.targetBeanInfoRef:Ljava/lang/ref/Reference;
        35: .line 1585
            return
        end local 1 // java.beans.GenericBeanInfo old
        end local 0 // java.beans.GenericBeanInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   36     0  this  Ljava/beans/GenericBeanInfo;
            0   36     1   old  Ljava/beans/GenericBeanInfo;
            4   10     2   len  I
            6   10     3     i  I
           13   25     2   len  I
           15   25     3     i  I
           17   23     4  oldp  Ljava/beans/PropertyDescriptor;
           28   34     2   len  I
           30   34     3     i  I
    MethodParameters:
      Name  Flags
      old   

  public java.beans.PropertyDescriptor[] getPropertyDescriptors();
    descriptor: ()[Ljava/beans/PropertyDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.beans.GenericBeanInfo this
         0: .line 1588
            aload 0 /* this */
            getfield java.beans.GenericBeanInfo.properties:[Ljava/beans/PropertyDescriptor;
            areturn
        end local 0 // java.beans.GenericBeanInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/beans/GenericBeanInfo;

  public int getDefaultPropertyIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.beans.GenericBeanInfo this
         0: .line 1592
            aload 0 /* this */
            getfield java.beans.GenericBeanInfo.defaultProperty:I
            ireturn
        end local 0 // java.beans.GenericBeanInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/beans/GenericBeanInfo;

  public java.beans.EventSetDescriptor[] getEventSetDescriptors();
    descriptor: ()[Ljava/beans/EventSetDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.beans.GenericBeanInfo this
         0: .line 1596
            aload 0 /* this */
            getfield java.beans.GenericBeanInfo.events:[Ljava/beans/EventSetDescriptor;
            areturn
        end local 0 // java.beans.GenericBeanInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/beans/GenericBeanInfo;

  public int getDefaultEventIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.beans.GenericBeanInfo this
         0: .line 1600
            aload 0 /* this */
            getfield java.beans.GenericBeanInfo.defaultEvent:I
            ireturn
        end local 0 // java.beans.GenericBeanInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/beans/GenericBeanInfo;

  public java.beans.MethodDescriptor[] getMethodDescriptors();
    descriptor: ()[Ljava/beans/MethodDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.beans.GenericBeanInfo this
         0: .line 1604
            aload 0 /* this */
            getfield java.beans.GenericBeanInfo.methods:[Ljava/beans/MethodDescriptor;
            areturn
        end local 0 // java.beans.GenericBeanInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/beans/GenericBeanInfo;

  public java.beans.BeanDescriptor getBeanDescriptor();
    descriptor: ()Ljava/beans/BeanDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.beans.GenericBeanInfo this
         0: .line 1608
            aload 0 /* this */
            getfield java.beans.GenericBeanInfo.beanDescriptor:Ljava/beans/BeanDescriptor;
            areturn
        end local 0 // java.beans.GenericBeanInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/beans/GenericBeanInfo;

  public java.awt.Image getIcon(int);
    descriptor: (I)Ljava/awt/Image;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.beans.GenericBeanInfo this
        start local 1 // int iconKind
         0: .line 1612
            aload 0 /* this */
            invokevirtual java.beans.GenericBeanInfo.getTargetBeanInfo:()Ljava/beans/BeanInfo;
            astore 2 /* targetBeanInfo */
        start local 2 // java.beans.BeanInfo targetBeanInfo
         1: .line 1613
            aload 2 /* targetBeanInfo */
            ifnull 3
         2: .line 1614
            aload 2 /* targetBeanInfo */
            iload 1 /* iconKind */
            invokeinterface java.beans.BeanInfo.getIcon:(I)Ljava/awt/Image;
            areturn
         3: .line 1616
      StackMap locals: java.beans.BeanInfo
      StackMap stack:
            aload 0 /* this */
            iload 1 /* iconKind */
            invokespecial java.beans.SimpleBeanInfo.getIcon:(I)Ljava/awt/Image;
            areturn
        end local 2 // java.beans.BeanInfo targetBeanInfo
        end local 1 // int iconKind
        end local 0 // java.beans.GenericBeanInfo this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Ljava/beans/GenericBeanInfo;
            0    4     1        iconKind  I
            1    4     2  targetBeanInfo  Ljava/beans/BeanInfo;
    MethodParameters:
          Name  Flags
      iconKind  

  private java.beans.BeanInfo getTargetBeanInfo();
    descriptor: ()Ljava/beans/BeanInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.beans.GenericBeanInfo this
         0: .line 1620
            aload 0 /* this */
            getfield java.beans.GenericBeanInfo.targetBeanInfoRef:Ljava/lang/ref/Reference;
            ifnonnull 2
         1: .line 1621
            aconst_null
            areturn
         2: .line 1623
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.beans.GenericBeanInfo.targetBeanInfoRef:Ljava/lang/ref/Reference;
            invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
            checkcast java.beans.BeanInfo
            astore 1 /* targetBeanInfo */
        start local 1 // java.beans.BeanInfo targetBeanInfo
         3: .line 1624
            aload 1 /* targetBeanInfo */
            ifnonnull 9
         4: .line 1625
            invokestatic java.beans.ThreadGroupContext.getContext:()Ljava/beans/ThreadGroupContext;
            invokevirtual java.beans.ThreadGroupContext.getBeanInfoFinder:()Lcom/sun/beans/finder/BeanInfoFinder;
         5: .line 1626
            aload 0 /* this */
            getfield java.beans.GenericBeanInfo.beanDescriptor:Ljava/beans/BeanDescriptor;
            invokevirtual java.beans.BeanDescriptor.getBeanClass:()Ljava/lang/Class;
            invokevirtual com.sun.beans.finder.BeanInfoFinder.find:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.beans.BeanInfo
         6: .line 1625
            astore 1 /* targetBeanInfo */
         7: .line 1627
            aload 1 /* targetBeanInfo */
            ifnull 9
         8: .line 1628
            aload 0 /* this */
            new java.lang.ref.SoftReference
            dup
            aload 1 /* targetBeanInfo */
            invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
            putfield java.beans.GenericBeanInfo.targetBeanInfoRef:Ljava/lang/ref/Reference;
         9: .line 1631
      StackMap locals: java.beans.BeanInfo
      StackMap stack:
            aload 1 /* targetBeanInfo */
            areturn
        end local 1 // java.beans.BeanInfo targetBeanInfo
        end local 0 // java.beans.GenericBeanInfo this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Ljava/beans/GenericBeanInfo;
            3   10     1  targetBeanInfo  Ljava/beans/BeanInfo;
}
SourceFile: "Introspector.java"