public class javax.management.MBeanNotificationInfo extends javax.management.MBeanFeatureInfo implements java.lang.Cloneable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.management.MBeanNotificationInfo
  super_class: javax.management.MBeanFeatureInfo
{
  static final long serialVersionUID;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -3888371564530107064

  private static final java.lang.String[] NO_TYPES;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final javax.management.MBeanNotificationInfo[] NO_NOTIFICATIONS;
    descriptor: [Ljavax/management/MBeanNotificationInfo;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private java.lang.String[] types;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private final transient boolean arrayGettersSafe;
    descriptor: Z
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 66
            iconst_0
            anewarray java.lang.String
            putstatic javax.management.MBeanNotificationInfo.NO_TYPES:[Ljava/lang/String;
         1: .line 69
            iconst_0
            anewarray javax.management.MBeanNotificationInfo
         2: .line 68
            putstatic javax.management.MBeanNotificationInfo.NO_NOTIFICATIONS:[Ljavax/management/MBeanNotificationInfo;
         3: .line 69
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String[], java.lang.String, java.lang.String);
    descriptor: ([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // javax.management.MBeanNotificationInfo this
        start local 1 // java.lang.String[] notifTypes
        start local 2 // java.lang.String name
        start local 3 // java.lang.String description
         0: .line 92
            aload 0 /* this */
            aload 1 /* notifTypes */
            aload 2 /* name */
            aload 3 /* description */
            aconst_null
            invokespecial javax.management.MBeanNotificationInfo.<init>:([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljavax/management/Descriptor;)V
         1: .line 93
            return
        end local 3 // java.lang.String description
        end local 2 // java.lang.String name
        end local 1 // java.lang.String[] notifTypes
        end local 0 // javax.management.MBeanNotificationInfo this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ljavax/management/MBeanNotificationInfo;
            0    2     1   notifTypes  [Ljava/lang/String;
            0    2     2         name  Ljava/lang/String;
            0    2     3  description  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      notifTypes   
      name         
      description  

  public void <init>(java.lang.String[], java.lang.String, java.lang.String, javax.management.Descriptor);
    descriptor: ([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljavax/management/Descriptor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // javax.management.MBeanNotificationInfo this
        start local 1 // java.lang.String[] notifTypes
        start local 2 // java.lang.String name
        start local 3 // java.lang.String description
        start local 4 // javax.management.Descriptor descriptor
         0: .line 113
            aload 0 /* this */
            aload 2 /* name */
            aload 3 /* description */
            aload 4 /* descriptor */
            invokespecial javax.management.MBeanFeatureInfo.<init>:(Ljava/lang/String;Ljava/lang/String;Ljavax/management/Descriptor;)V
         1: .line 121
            aload 0 /* this */
            aload 1 /* notifTypes */
            ifnull 3
            aload 1 /* notifTypes */
            arraylength
            ifle 3
         2: .line 122
            aload 1 /* notifTypes */
            invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
            checkcast java.lang.String[]
            goto 4
      StackMap locals: javax.management.MBeanNotificationInfo java.lang.String[] java.lang.String java.lang.String javax.management.Descriptor
      StackMap stack: javax.management.MBeanNotificationInfo
         3: getstatic javax.management.MBeanNotificationInfo.NO_TYPES:[Ljava/lang/String;
         4: .line 121
      StackMap locals: javax.management.MBeanNotificationInfo java.lang.String[] java.lang.String java.lang.String javax.management.Descriptor
      StackMap stack: javax.management.MBeanNotificationInfo java.lang.String[]
            putfield javax.management.MBeanNotificationInfo.types:[Ljava/lang/String;
         5: .line 123
            aload 0 /* this */
         6: .line 124
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
         7: .line 125
            ldc Ljavax/management/MBeanNotificationInfo;
         8: .line 124
            invokestatic javax.management.MBeanInfo.arrayGettersSafe:(Ljava/lang/Class;Ljava/lang/Class;)Z
         9: .line 123
            putfield javax.management.MBeanNotificationInfo.arrayGettersSafe:Z
        10: .line 126
            return
        end local 4 // javax.management.Descriptor descriptor
        end local 3 // java.lang.String description
        end local 2 // java.lang.String name
        end local 1 // java.lang.String[] notifTypes
        end local 0 // javax.management.MBeanNotificationInfo this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Ljavax/management/MBeanNotificationInfo;
            0   11     1   notifTypes  [Ljava/lang/String;
            0   11     2         name  Ljava/lang/String;
            0   11     3  description  Ljava/lang/String;
            0   11     4   descriptor  Ljavax/management/Descriptor;
    MethodParameters:
             Name  Flags
      notifTypes   
      name         
      description  
      descriptor   

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.MBeanNotificationInfo this
         0: .line 138
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
         1: areturn
         2: .line 139
      StackMap locals:
      StackMap stack: java.lang.CloneNotSupportedException
            pop
         3: .line 141
            aconst_null
            areturn
        end local 0 // javax.management.MBeanNotificationInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/management/MBeanNotificationInfo;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.CloneNotSupportedException

  public java.lang.String[] getNotifTypes();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.MBeanNotificationInfo this
         0: .line 154
            aload 0 /* this */
            getfield javax.management.MBeanNotificationInfo.types:[Ljava/lang/String;
            arraylength
            ifne 2
         1: .line 155
            getstatic javax.management.MBeanNotificationInfo.NO_TYPES:[Ljava/lang/String;
            areturn
         2: .line 157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.MBeanNotificationInfo.types:[Ljava/lang/String;
            invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 0 // javax.management.MBeanNotificationInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/management/MBeanNotificationInfo;

  private java.lang.String[] fastGetNotifTypes();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.MBeanNotificationInfo this
         0: .line 161
            aload 0 /* this */
            getfield javax.management.MBeanNotificationInfo.arrayGettersSafe:Z
            ifeq 2
         1: .line 162
            aload 0 /* this */
            getfield javax.management.MBeanNotificationInfo.types:[Ljava/lang/String;
            areturn
         2: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.management.MBeanNotificationInfo.getNotifTypes:()[Ljava/lang/String;
            areturn
        end local 0 // javax.management.MBeanNotificationInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/management/MBeanNotificationInfo;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.management.MBeanNotificationInfo this
         0: .line 169
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            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;
         1: .line 170
            ldc "description="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual javax.management.MBeanNotificationInfo.getDescription:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 171
            ldc "name="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual javax.management.MBeanNotificationInfo.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 172
            ldc "notifTypes="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual javax.management.MBeanNotificationInfo.fastGetNotifTypes:()[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 173
            ldc "descriptor="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual javax.management.MBeanNotificationInfo.getDescriptor:()Ljavax/management/Descriptor;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         5: .line 174
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 169
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 168
            areturn
        end local 0 // javax.management.MBeanNotificationInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljavax/management/MBeanNotificationInfo;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.management.MBeanNotificationInfo this
        start local 1 // java.lang.Object o
         0: .line 192
            aload 1 /* o */
            aload 0 /* this */
            if_acmpne 2
         1: .line 193
            iconst_1
            ireturn
         2: .line 194
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof javax.management.MBeanNotificationInfo
            ifne 4
         3: .line 195
            iconst_0
            ireturn
         4: .line 196
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast javax.management.MBeanNotificationInfo
            astore 2 /* p */
        start local 2 // javax.management.MBeanNotificationInfo p
         5: .line 197
            aload 2 /* p */
            invokevirtual javax.management.MBeanNotificationInfo.getName:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual javax.management.MBeanNotificationInfo.getName:()Ljava/lang/String;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 10
         6: .line 198
            aload 2 /* p */
            invokevirtual javax.management.MBeanNotificationInfo.getDescription:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual javax.management.MBeanNotificationInfo.getDescription:()Ljava/lang/String;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 10
         7: .line 199
            aload 2 /* p */
            invokevirtual javax.management.MBeanNotificationInfo.getDescriptor:()Ljavax/management/Descriptor;
            aload 0 /* this */
            invokevirtual javax.management.MBeanNotificationInfo.getDescriptor:()Ljavax/management/Descriptor;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 10
         8: .line 200
            aload 2 /* p */
            invokevirtual javax.management.MBeanNotificationInfo.fastGetNotifTypes:()[Ljava/lang/String;
            aload 0 /* this */
            invokevirtual javax.management.MBeanNotificationInfo.fastGetNotifTypes:()[Ljava/lang/String;
            invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
            ifeq 10
         9: .line 197
            iconst_1
            ireturn
      StackMap locals: javax.management.MBeanNotificationInfo
      StackMap stack:
        10: iconst_0
            ireturn
        end local 2 // javax.management.MBeanNotificationInfo p
        end local 1 // java.lang.Object o
        end local 0 // javax.management.MBeanNotificationInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljavax/management/MBeanNotificationInfo;
            0   11     1     o  Ljava/lang/Object;
            5   11     2     p  Ljavax/management/MBeanNotificationInfo;
    MethodParameters:
      Name  Flags
      o     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // javax.management.MBeanNotificationInfo this
         0: .line 204
            aload 0 /* this */
            invokevirtual javax.management.MBeanNotificationInfo.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            istore 1 /* hash */
        start local 1 // int hash
         1: .line 205
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 206
      StackMap locals: int int
      StackMap stack:
            iload 1 /* hash */
            aload 0 /* this */
            getfield javax.management.MBeanNotificationInfo.types:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.hashCode:()I
            ixor
            istore 1 /* hash */
         4: .line 205
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield javax.management.MBeanNotificationInfo.types:[Ljava/lang/String;
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 207
            iload 1 /* hash */
            ireturn
        end local 1 // int hash
        end local 0 // javax.management.MBeanNotificationInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljavax/management/MBeanNotificationInfo;
            1    7     1  hash  I
            2    6     2     i  I

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // javax.management.MBeanNotificationInfo this
        start local 1 // java.io.ObjectInputStream ois
         0: .line 211
            aload 1 /* ois */
            invokevirtual java.io.ObjectInputStream.readFields:()Ljava/io/ObjectInputStream$GetField;
            astore 2 /* gf */
        start local 2 // java.io.ObjectInputStream$GetField gf
         1: .line 212
            aload 2 /* gf */
            ldc "types"
            aconst_null
            invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 3 /* t */
        start local 3 // java.lang.String[] t
         2: .line 214
            aload 0 /* this */
            aload 3 /* t */
            ifnull 3
            aload 3 /* t */
            arraylength
            ifeq 3
            aload 3 /* t */
            invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
            checkcast java.lang.String[]
            goto 4
      StackMap locals: javax.management.MBeanNotificationInfo java.io.ObjectInputStream java.io.ObjectInputStream$GetField java.lang.String[]
      StackMap stack: javax.management.MBeanNotificationInfo
         3: getstatic javax.management.MBeanNotificationInfo.NO_TYPES:[Ljava/lang/String;
      StackMap locals: javax.management.MBeanNotificationInfo java.io.ObjectInputStream java.io.ObjectInputStream$GetField java.lang.String[]
      StackMap stack: javax.management.MBeanNotificationInfo java.lang.String[]
         4: putfield javax.management.MBeanNotificationInfo.types:[Ljava/lang/String;
         5: .line 215
            return
        end local 3 // java.lang.String[] t
        end local 2 // java.io.ObjectInputStream$GetField gf
        end local 1 // java.io.ObjectInputStream ois
        end local 0 // javax.management.MBeanNotificationInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljavax/management/MBeanNotificationInfo;
            0    6     1   ois  Ljava/io/ObjectInputStream;
            1    6     2    gf  Ljava/io/ObjectInputStream$GetField;
            2    6     3     t  [Ljava/lang/String;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      ois   
}
SourceFile: "MBeanNotificationInfo.java"
InnerClasses:
  public abstract GetField = java.io.ObjectInputStream$GetField of java.io.ObjectInputStream