public class sun.security.x509.Extension implements java.security.cert.Extension
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.x509.Extension
  super_class: java.lang.Object
{
  protected sun.security.util.ObjectIdentifier extensionId;
    descriptor: Lsun/security/util/ObjectIdentifier;
    flags: (0x0004) ACC_PROTECTED

  protected boolean critical;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected byte[] extensionValue;
    descriptor: [B
    flags: (0x0004) ACC_PROTECTED

  private static final int hashMagic;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 31

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.x509.Extension this
         0: .line 70
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 63
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.Extension.extensionId:Lsun/security/util/ObjectIdentifier;
         2: .line 64
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.Extension.critical:Z
         3: .line 65
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.Extension.extensionValue:[B
         4: .line 70
            return
        end local 0 // sun.security.x509.Extension this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/security/x509/Extension;

  public void <init>(sun.security.util.DerValue);
    descriptor: (Lsun/security/util/DerValue;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.security.x509.Extension this
        start local 1 // sun.security.util.DerValue derVal
         0: .line 75
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 63
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.Extension.extensionId:Lsun/security/util/ObjectIdentifier;
         2: .line 64
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.Extension.critical:Z
         3: .line 65
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.Extension.extensionValue:[B
         4: .line 77
            aload 1 /* derVal */
            invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
            astore 2 /* in */
        start local 2 // sun.security.util.DerInputStream in
         5: .line 80
            aload 0 /* this */
            aload 2 /* in */
            invokevirtual sun.security.util.DerInputStream.getOID:()Lsun/security/util/ObjectIdentifier;
            putfield sun.security.x509.Extension.extensionId:Lsun/security/util/ObjectIdentifier;
         6: .line 83
            aload 2 /* in */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 3 /* val */
        start local 3 // sun.security.util.DerValue val
         7: .line 84
            aload 3 /* val */
            getfield sun.security.util.DerValue.tag:B
            iconst_1
            if_icmpne 12
         8: .line 85
            aload 0 /* this */
            aload 3 /* val */
            invokevirtual sun.security.util.DerValue.getBoolean:()Z
            putfield sun.security.x509.Extension.critical:Z
         9: .line 88
            aload 2 /* in */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 3 /* val */
        10: .line 89
            aload 0 /* this */
            aload 3 /* val */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            putfield sun.security.x509.Extension.extensionValue:[B
        11: .line 90
            goto 14
        12: .line 91
      StackMap locals: sun.security.x509.Extension sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.Extension.critical:Z
        13: .line 92
            aload 0 /* this */
            aload 3 /* val */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            putfield sun.security.x509.Extension.extensionValue:[B
        14: .line 94
      StackMap locals:
      StackMap stack:
            return
        end local 3 // sun.security.util.DerValue val
        end local 2 // sun.security.util.DerInputStream in
        end local 1 // sun.security.util.DerValue derVal
        end local 0 // sun.security.x509.Extension this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lsun/security/x509/Extension;
            0   15     1  derVal  Lsun/security/util/DerValue;
            5   15     2      in  Lsun/security/util/DerInputStream;
            7   15     3     val  Lsun/security/util/DerValue;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      derVal  

  public void <init>(sun.security.util.ObjectIdentifier, boolean, byte[]);
    descriptor: (Lsun/security/util/ObjectIdentifier;Z[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // sun.security.x509.Extension this
        start local 1 // sun.security.util.ObjectIdentifier extensionId
        start local 2 // boolean critical
        start local 3 // byte[] extensionValue
         0: .line 104
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 63
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.Extension.extensionId:Lsun/security/util/ObjectIdentifier;
         2: .line 64
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.Extension.critical:Z
         3: .line 65
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.Extension.extensionValue:[B
         4: .line 106
            aload 0 /* this */
            aload 1 /* extensionId */
            putfield sun.security.x509.Extension.extensionId:Lsun/security/util/ObjectIdentifier;
         5: .line 107
            aload 0 /* this */
            iload 2 /* critical */
            putfield sun.security.x509.Extension.critical:Z
         6: .line 110
            new sun.security.util.DerValue
            dup
            aload 3 /* extensionValue */
            invokespecial sun.security.util.DerValue.<init>:([B)V
            astore 4 /* inDerVal */
        start local 4 // sun.security.util.DerValue inDerVal
         7: .line 111
            aload 0 /* this */
            aload 4 /* inDerVal */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            putfield sun.security.x509.Extension.extensionValue:[B
         8: .line 112
            return
        end local 4 // sun.security.util.DerValue inDerVal
        end local 3 // byte[] extensionValue
        end local 2 // boolean critical
        end local 1 // sun.security.util.ObjectIdentifier extensionId
        end local 0 // sun.security.x509.Extension this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lsun/security/x509/Extension;
            0    9     1     extensionId  Lsun/security/util/ObjectIdentifier;
            0    9     2        critical  Z
            0    9     3  extensionValue  [B
            7    9     4        inDerVal  Lsun/security/util/DerValue;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      extensionId     
      critical        
      extensionValue  

  public void <init>(sun.security.x509.Extension);
    descriptor: (Lsun/security/x509/Extension;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.x509.Extension this
        start local 1 // sun.security.x509.Extension ext
         0: .line 120
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 63
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.Extension.extensionId:Lsun/security/util/ObjectIdentifier;
         2: .line 64
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.Extension.critical:Z
         3: .line 65
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.Extension.extensionValue:[B
         4: .line 121
            aload 0 /* this */
            aload 1 /* ext */
            getfield sun.security.x509.Extension.extensionId:Lsun/security/util/ObjectIdentifier;
            putfield sun.security.x509.Extension.extensionId:Lsun/security/util/ObjectIdentifier;
         5: .line 122
            aload 0 /* this */
            aload 1 /* ext */
            getfield sun.security.x509.Extension.critical:Z
            putfield sun.security.x509.Extension.critical:Z
         6: .line 123
            aload 0 /* this */
            aload 1 /* ext */
            getfield sun.security.x509.Extension.extensionValue:[B
            putfield sun.security.x509.Extension.extensionValue:[B
         7: .line 124
            return
        end local 1 // sun.security.x509.Extension ext
        end local 0 // sun.security.x509.Extension this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/security/x509/Extension;
            0    8     1   ext  Lsun/security/x509/Extension;
    MethodParameters:
      Name  Flags
      ext   

  public static sun.security.x509.Extension newExtension(sun.security.util.ObjectIdentifier, boolean, byte[]);
    descriptor: (Lsun/security/util/ObjectIdentifier;Z[B)Lsun/security/x509/Extension;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // sun.security.util.ObjectIdentifier extensionId
        start local 1 // boolean critical
        start local 2 // byte[] rawExtensionValue
         0: .line 137
            new sun.security.x509.Extension
            dup
            invokespecial sun.security.x509.Extension.<init>:()V
            astore 3 /* ext */
        start local 3 // sun.security.x509.Extension ext
         1: .line 138
            aload 3 /* ext */
            aload 0 /* extensionId */
            putfield sun.security.x509.Extension.extensionId:Lsun/security/util/ObjectIdentifier;
         2: .line 139
            aload 3 /* ext */
            iload 1 /* critical */
            putfield sun.security.x509.Extension.critical:Z
         3: .line 140
            aload 3 /* ext */
            aload 2 /* rawExtensionValue */
            putfield sun.security.x509.Extension.extensionValue:[B
         4: .line 141
            aload 3 /* ext */
            areturn
        end local 3 // sun.security.x509.Extension ext
        end local 2 // byte[] rawExtensionValue
        end local 1 // boolean critical
        end local 0 // sun.security.util.ObjectIdentifier extensionId
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0        extensionId  Lsun/security/util/ObjectIdentifier;
            0    5     1           critical  Z
            0    5     2  rawExtensionValue  [B
            1    5     3                ext  Lsun/security/x509/Extension;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                   Name  Flags
      extensionId        
      critical           
      rawExtensionValue  

  public void encode(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.security.x509.Extension this
        start local 1 // java.io.OutputStream out
         0: .line 145
            aload 1 /* out */
            ifnonnull 2
         1: .line 146
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 149
      StackMap locals:
      StackMap stack:
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 2 /* dos1 */
        start local 2 // sun.security.util.DerOutputStream dos1
         3: .line 150
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 3 /* dos2 */
        start local 3 // sun.security.util.DerOutputStream dos2
         4: .line 152
            aload 2 /* dos1 */
            aload 0 /* this */
            getfield sun.security.x509.Extension.extensionId:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
         5: .line 153
            aload 0 /* this */
            getfield sun.security.x509.Extension.critical:Z
            ifeq 7
         6: .line 154
            aload 2 /* dos1 */
            aload 0 /* this */
            getfield sun.security.x509.Extension.critical:Z
            invokevirtual sun.security.util.DerOutputStream.putBoolean:(Z)V
         7: .line 156
      StackMap locals: sun.security.util.DerOutputStream sun.security.util.DerOutputStream
      StackMap stack:
            aload 2 /* dos1 */
            aload 0 /* this */
            getfield sun.security.x509.Extension.extensionValue:[B
            invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
         8: .line 158
            aload 3 /* dos2 */
            bipush 48
            aload 2 /* dos1 */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
         9: .line 159
            aload 1 /* out */
            aload 3 /* dos2 */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            invokevirtual java.io.OutputStream.write:([B)V
        10: .line 160
            return
        end local 3 // sun.security.util.DerOutputStream dos2
        end local 2 // sun.security.util.DerOutputStream dos1
        end local 1 // java.io.OutputStream out
        end local 0 // sun.security.x509.Extension this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/security/x509/Extension;
            0   11     1   out  Ljava/io/OutputStream;
            3   11     2  dos1  Lsun/security/util/DerOutputStream;
            4   11     3  dos2  Lsun/security/util/DerOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  public void encode(sun.security.util.DerOutputStream);
    descriptor: (Lsun/security/util/DerOutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.x509.Extension this
        start local 1 // sun.security.util.DerOutputStream out
         0: .line 170
            aload 0 /* this */
            getfield sun.security.x509.Extension.extensionId:Lsun/security/util/ObjectIdentifier;
            ifnonnull 2
         1: .line 171
            new java.io.IOException
            dup
            ldc "Null OID to encode for the extension!"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.Extension.extensionValue:[B
            ifnonnull 4
         3: .line 173
            new java.io.IOException
            dup
            ldc "No value to encode for the extension!"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 175
      StackMap locals:
      StackMap stack:
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 2 /* dos */
        start local 2 // sun.security.util.DerOutputStream dos
         5: .line 177
            aload 2 /* dos */
            aload 0 /* this */
            getfield sun.security.x509.Extension.extensionId:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
         6: .line 178
            aload 0 /* this */
            getfield sun.security.x509.Extension.critical:Z
            ifeq 8
         7: .line 179
            aload 2 /* dos */
            aload 0 /* this */
            getfield sun.security.x509.Extension.critical:Z
            invokevirtual sun.security.util.DerOutputStream.putBoolean:(Z)V
         8: .line 180
      StackMap locals: sun.security.util.DerOutputStream
      StackMap stack:
            aload 2 /* dos */
            aload 0 /* this */
            getfield sun.security.x509.Extension.extensionValue:[B
            invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
         9: .line 182
            aload 1 /* out */
            bipush 48
            aload 2 /* dos */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        10: .line 183
            return
        end local 2 // sun.security.util.DerOutputStream dos
        end local 1 // sun.security.util.DerOutputStream out
        end local 0 // sun.security.x509.Extension this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/security/x509/Extension;
            0   11     1   out  Lsun/security/util/DerOutputStream;
            5   11     2   dos  Lsun/security/util/DerOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  public boolean isCritical();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.Extension this
         0: .line 189
            aload 0 /* this */
            getfield sun.security.x509.Extension.critical:Z
            ireturn
        end local 0 // sun.security.x509.Extension this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/Extension;

  public sun.security.util.ObjectIdentifier getExtensionId();
    descriptor: ()Lsun/security/util/ObjectIdentifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.Extension this
         0: .line 196
            aload 0 /* this */
            getfield sun.security.x509.Extension.extensionId:Lsun/security/util/ObjectIdentifier;
            areturn
        end local 0 // sun.security.x509.Extension this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/Extension;

  public byte[] getValue();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.Extension this
         0: .line 200
            aload 0 /* this */
            getfield sun.security.x509.Extension.extensionValue:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            areturn
        end local 0 // sun.security.x509.Extension this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/Extension;

  public byte[] getExtensionValue();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.Extension this
         0: .line 211
            aload 0 /* this */
            getfield sun.security.x509.Extension.extensionValue:[B
            areturn
        end local 0 // sun.security.x509.Extension this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/Extension;

  public java.lang.String getId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.Extension this
         0: .line 215
            aload 0 /* this */
            getfield sun.security.x509.Extension.extensionId:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            areturn
        end local 0 // sun.security.x509.Extension this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/Extension;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.security.x509.Extension this
         0: .line 222
            new java.lang.StringBuilder
            dup
            ldc "ObjectId: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.x509.Extension.extensionId:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
        start local 1 // java.lang.String s
         1: .line 223
            aload 0 /* this */
            getfield sun.security.x509.Extension.critical:Z
            ifeq 4
         2: .line 224
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Criticality=true\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
         3: .line 225
            goto 5
         4: .line 226
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Criticality=false\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
         5: .line 228
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            areturn
        end local 1 // java.lang.String s
        end local 0 // sun.security.x509.Extension this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/security/x509/Extension;
            1    6     1     s  Ljava/lang/String;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // sun.security.x509.Extension this
         0: .line 240
            iconst_0
            istore 1 /* h */
        start local 1 // int h
         1: .line 241
            aload 0 /* this */
            getfield sun.security.x509.Extension.extensionValue:[B
            ifnull 7
         2: .line 242
            aload 0 /* this */
            getfield sun.security.x509.Extension.extensionValue:[B
            astore 2 /* val */
        start local 2 // byte[] val
         3: .line 243
            aload 2 /* val */
            arraylength
            istore 3 /* len */
        start local 3 // int len
         4: .line 244
            goto 6
         5: .line 245
      StackMap locals: int byte[] int
      StackMap stack:
            iload 1 /* h */
            iload 3 /* len */
            aload 2 /* val */
            iinc 3 /* len */ -1
            iload 3 /* len */
            baload
            imul
            iadd
            istore 1 /* h */
         6: .line 244
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            ifgt 5
        end local 3 // int len
        end local 2 // byte[] val
         7: .line 247
      StackMap locals:
      StackMap stack:
            iload 1 /* h */
            bipush 31
            imul
            aload 0 /* this */
            getfield sun.security.x509.Extension.extensionId:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.hashCode:()I
            iadd
            istore 1 /* h */
         8: .line 248
            iload 1 /* h */
            bipush 31
            imul
            aload 0 /* this */
            getfield sun.security.x509.Extension.critical:Z
            ifeq 9
            sipush 1231
            goto 10
      StackMap locals:
      StackMap stack: int
         9: sipush 1237
      StackMap locals: sun.security.x509.Extension int
      StackMap stack: int int
        10: iadd
            istore 1 /* h */
        11: .line 249
            iload 1 /* h */
            ireturn
        end local 1 // int h
        end local 0 // sun.security.x509.Extension this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/security/x509/Extension;
            1   12     1     h  I
            3    7     2   val  [B
            4    7     3   len  I

  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 // sun.security.x509.Extension this
        start local 1 // java.lang.Object other
         0: .line 265
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 2
         1: .line 266
            iconst_1
            ireturn
         2: .line 267
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof sun.security.x509.Extension
            ifne 4
         3: .line 268
            iconst_0
            ireturn
         4: .line 269
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast sun.security.x509.Extension
            astore 2 /* otherExt */
        start local 2 // sun.security.x509.Extension otherExt
         5: .line 270
            aload 0 /* this */
            getfield sun.security.x509.Extension.critical:Z
            aload 2 /* otherExt */
            getfield sun.security.x509.Extension.critical:Z
            if_icmpeq 7
         6: .line 271
            iconst_0
            ireturn
         7: .line 272
      StackMap locals: sun.security.x509.Extension
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.Extension.extensionId:Lsun/security/util/ObjectIdentifier;
            aload 2 /* otherExt */
            getfield sun.security.x509.Extension.extensionId:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 273
            iconst_0
            ireturn
         9: .line 274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.Extension.extensionValue:[B
            aload 2 /* otherExt */
            getfield sun.security.x509.Extension.extensionValue:[B
            invokestatic java.util.Arrays.equals:([B[B)Z
            ireturn
        end local 2 // sun.security.x509.Extension otherExt
        end local 1 // java.lang.Object other
        end local 0 // sun.security.x509.Extension this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lsun/security/x509/Extension;
            0   10     1     other  Ljava/lang/Object;
            5   10     2  otherExt  Lsun/security/x509/Extension;
    MethodParameters:
       Name  Flags
      other  
}
SourceFile: "Extension.java"