class sun.security.provider.certpath.PolicyChecker extends java.security.cert.PKIXCertPathChecker
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.security.provider.certpath.PolicyChecker
  super_class: java.security.cert.PKIXCertPathChecker
{
  private final java.util.Set<java.lang.String> initPolicies;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private final int certPathLen;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean expPolicyRequired;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean polMappingInhibited;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean anyPolicyInhibited;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean rejectPolicyQualifiers;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private sun.security.provider.certpath.PolicyNodeImpl rootNode;
    descriptor: Lsun/security/provider/certpath/PolicyNodeImpl;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  private java.util.Set<java.lang.String> supportedExts;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private static final sun.security.util.Debug debug;
    descriptor: Lsun/security/util/Debug;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final java.lang.String ANY_POLICY;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 74
            ldc "certpath"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
         1: .line 75
            getstatic sun.security.util.KnownOIDs.CE_CERT_POLICIES_ANY:Lsun/security/util/KnownOIDs;
            invokevirtual sun.security.util.KnownOIDs.value:()Ljava/lang/String;
            putstatic sun.security.provider.certpath.PolicyChecker.ANY_POLICY:Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.util.Set<java.lang.String>, int, boolean, boolean, boolean, boolean, sun.security.provider.certpath.PolicyNodeImpl);
    descriptor: (Ljava/util/Set;IZZZZLsun/security/provider/certpath/PolicyNodeImpl;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=8, args_size=8
        start local 0 // sun.security.provider.certpath.PolicyChecker this
        start local 1 // java.util.Set initialPolicies
        start local 2 // int certPathLen
        start local 3 // boolean expPolicyRequired
        start local 4 // boolean polMappingInhibited
        start local 5 // boolean anyPolicyInhibited
        start local 6 // boolean rejectPolicyQualifiers
        start local 7 // sun.security.provider.certpath.PolicyNodeImpl rootNode
         0: .line 88
            aload 0 /* this */
            invokespecial java.security.cert.PKIXCertPathChecker.<init>:()V
         1: .line 93
            aload 1 /* initialPolicies */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 5
         2: .line 96
            aload 0 /* this */
            new java.util.HashSet
            dup
            iconst_1
            invokespecial java.util.HashSet.<init>:(I)V
            putfield sun.security.provider.certpath.PolicyChecker.initPolicies:Ljava/util/Set;
         3: .line 97
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.initPolicies:Ljava/util/Set;
            getstatic sun.security.provider.certpath.PolicyChecker.ANY_POLICY:Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 98
            goto 6
         5: .line 99
      StackMap locals: sun.security.provider.certpath.PolicyChecker java.util.Set int int int int int sun.security.provider.certpath.PolicyNodeImpl
      StackMap stack:
            aload 0 /* this */
            new java.util.HashSet
            dup
            aload 1 /* initialPolicies */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            putfield sun.security.provider.certpath.PolicyChecker.initPolicies:Ljava/util/Set;
         6: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* certPathLen */
            putfield sun.security.provider.certpath.PolicyChecker.certPathLen:I
         7: .line 102
            aload 0 /* this */
            iload 3 /* expPolicyRequired */
            putfield sun.security.provider.certpath.PolicyChecker.expPolicyRequired:Z
         8: .line 103
            aload 0 /* this */
            iload 4 /* polMappingInhibited */
            putfield sun.security.provider.certpath.PolicyChecker.polMappingInhibited:Z
         9: .line 104
            aload 0 /* this */
            iload 5 /* anyPolicyInhibited */
            putfield sun.security.provider.certpath.PolicyChecker.anyPolicyInhibited:Z
        10: .line 105
            aload 0 /* this */
            iload 6 /* rejectPolicyQualifiers */
            putfield sun.security.provider.certpath.PolicyChecker.rejectPolicyQualifiers:Z
        11: .line 106
            aload 0 /* this */
            aload 7 /* rootNode */
            putfield sun.security.provider.certpath.PolicyChecker.rootNode:Lsun/security/provider/certpath/PolicyNodeImpl;
        12: .line 107
            return
        end local 7 // sun.security.provider.certpath.PolicyNodeImpl rootNode
        end local 6 // boolean rejectPolicyQualifiers
        end local 5 // boolean anyPolicyInhibited
        end local 4 // boolean polMappingInhibited
        end local 3 // boolean expPolicyRequired
        end local 2 // int certPathLen
        end local 1 // java.util.Set initialPolicies
        end local 0 // sun.security.provider.certpath.PolicyChecker this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   13     0                    this  Lsun/security/provider/certpath/PolicyChecker;
            0   13     1         initialPolicies  Ljava/util/Set<Ljava/lang/String;>;
            0   13     2             certPathLen  I
            0   13     3       expPolicyRequired  Z
            0   13     4     polMappingInhibited  Z
            0   13     5      anyPolicyInhibited  Z
            0   13     6  rejectPolicyQualifiers  Z
            0   13     7                rootNode  Lsun/security/provider/certpath/PolicyNodeImpl;
    Signature: (Ljava/util/Set<Ljava/lang/String;>;IZZZZLsun/security/provider/certpath/PolicyNodeImpl;)V
    MethodParameters:
                        Name  Flags
      initialPolicies         
      certPathLen             
      expPolicyRequired       
      polMappingInhibited     
      anyPolicyInhibited      
      rejectPolicyQualifiers  
      rootNode                

  public void init(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.provider.certpath.PolicyChecker this
        start local 1 // boolean forward
         0: .line 120
            iload 1 /* forward */
            ifeq 4
         1: .line 121
            new java.security.cert.CertPathValidatorException
            dup
         2: .line 122
            ldc "forward checking not supported"
         3: .line 121
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.certpath.PolicyChecker.certIndex:I
         5: .line 126
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.expPolicyRequired:Z
            ifeq 6
            iconst_0
            goto 7
      StackMap locals:
      StackMap stack: sun.security.provider.certpath.PolicyChecker
         6: aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.certPathLen:I
            iconst_1
            iadd
      StackMap locals: sun.security.provider.certpath.PolicyChecker int
      StackMap stack: sun.security.provider.certpath.PolicyChecker int
         7: putfield sun.security.provider.certpath.PolicyChecker.explicitPolicy:I
         8: .line 127
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.polMappingInhibited:Z
            ifeq 9
            iconst_0
            goto 10
      StackMap locals:
      StackMap stack: sun.security.provider.certpath.PolicyChecker
         9: aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.certPathLen:I
            iconst_1
            iadd
      StackMap locals: sun.security.provider.certpath.PolicyChecker int
      StackMap stack: sun.security.provider.certpath.PolicyChecker int
        10: putfield sun.security.provider.certpath.PolicyChecker.policyMapping:I
        11: .line 128
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.anyPolicyInhibited:Z
            ifeq 12
            iconst_0
            goto 13
      StackMap locals:
      StackMap stack: sun.security.provider.certpath.PolicyChecker
        12: aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.certPathLen:I
            iconst_1
            iadd
      StackMap locals: sun.security.provider.certpath.PolicyChecker int
      StackMap stack: sun.security.provider.certpath.PolicyChecker int
        13: putfield sun.security.provider.certpath.PolicyChecker.inhibitAnyPolicy:I
        14: .line 129
            return
        end local 1 // boolean forward
        end local 0 // sun.security.provider.certpath.PolicyChecker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lsun/security/provider/certpath/PolicyChecker;
            0   15     1  forward  Z
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
         Name  Flags
      forward  

  public boolean isForwardCheckingSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.provider.certpath.PolicyChecker this
         0: .line 141
            iconst_0
            ireturn
        end local 0 // sun.security.provider.certpath.PolicyChecker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/provider/certpath/PolicyChecker;

  public java.util.Set<java.lang.String> getSupportedExtensions();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.security.provider.certpath.PolicyChecker this
         0: .line 156
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.supportedExts:Ljava/util/Set;
            ifnonnull 7
         1: .line 157
            aload 0 /* this */
            new java.util.HashSet
            dup
            iconst_4
            invokespecial java.util.HashSet.<init>:(I)V
            putfield sun.security.provider.certpath.PolicyChecker.supportedExts:Ljava/util/Set;
         2: .line 158
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.supportedExts:Ljava/util/Set;
            getstatic sun.security.x509.PKIXExtensions.CertificatePolicies_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 159
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.supportedExts:Ljava/util/Set;
            getstatic sun.security.x509.PKIXExtensions.PolicyMappings_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 160
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.supportedExts:Ljava/util/Set;
            getstatic sun.security.x509.PKIXExtensions.PolicyConstraints_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 161
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.supportedExts:Ljava/util/Set;
            getstatic sun.security.x509.PKIXExtensions.InhibitAnyPolicy_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         6: .line 162
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.supportedExts:Ljava/util/Set;
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            putfield sun.security.provider.certpath.PolicyChecker.supportedExts:Ljava/util/Set;
         7: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.supportedExts:Ljava/util/Set;
            areturn
        end local 0 // sun.security.provider.certpath.PolicyChecker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/security/provider/certpath/PolicyChecker;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public void check(java.security.cert.Certificate, java.util.Collection<java.lang.String>);
    descriptor: (Ljava/security/cert/Certificate;Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.security.provider.certpath.PolicyChecker this
        start local 1 // java.security.cert.Certificate cert
        start local 2 // java.util.Collection unresCritExts
         0: .line 180
            aload 0 /* this */
            aload 1 /* cert */
            checkcast java.security.cert.X509Certificate
            invokevirtual sun.security.provider.certpath.PolicyChecker.checkPolicy:(Ljava/security/cert/X509Certificate;)V
         1: .line 182
            aload 2 /* unresCritExts */
            ifnull 6
            aload 2 /* unresCritExts */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 6
         2: .line 183
            aload 2 /* unresCritExts */
            getstatic sun.security.x509.PKIXExtensions.CertificatePolicies_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            invokeinterface java.util.Collection.remove:(Ljava/lang/Object;)Z
            pop
         3: .line 184
            aload 2 /* unresCritExts */
            getstatic sun.security.x509.PKIXExtensions.PolicyMappings_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            invokeinterface java.util.Collection.remove:(Ljava/lang/Object;)Z
            pop
         4: .line 185
            aload 2 /* unresCritExts */
            getstatic sun.security.x509.PKIXExtensions.PolicyConstraints_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            invokeinterface java.util.Collection.remove:(Ljava/lang/Object;)Z
            pop
         5: .line 186
            aload 2 /* unresCritExts */
            getstatic sun.security.x509.PKIXExtensions.InhibitAnyPolicy_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            invokeinterface java.util.Collection.remove:(Ljava/lang/Object;)Z
            pop
         6: .line 188
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Collection unresCritExts
        end local 1 // java.security.cert.Certificate cert
        end local 0 // sun.security.provider.certpath.PolicyChecker this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lsun/security/provider/certpath/PolicyChecker;
            0    7     1           cert  Ljava/security/cert/Certificate;
            0    7     2  unresCritExts  Ljava/util/Collection<Ljava/lang/String;>;
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    Signature: (Ljava/security/cert/Certificate;Ljava/util/Collection<Ljava/lang/String;>;)V
    MethodParameters:
               Name  Flags
      cert           
      unresCritExts  

  private void checkPolicy(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=5, args_size=2
        start local 0 // sun.security.provider.certpath.PolicyChecker this
        start local 1 // java.security.cert.X509Certificate currCert
         0: .line 200
            ldc "certificate policies"
            astore 2 /* msg */
        start local 2 // java.lang.String msg
         1: .line 201
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 20
         2: .line 202
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.checkPolicy() ---checking "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 203
            ldc "..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 202
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         5: .line 204
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.checkPolicy() certIndex = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 205
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.certIndex:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 204
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         8: .line 206
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.checkPolicy() BEFORE PROCESSING: explicitPolicy = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 207
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.explicitPolicy:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 206
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        11: .line 208
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.checkPolicy() BEFORE PROCESSING: policyMapping = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        12: .line 209
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.policyMapping:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 208
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        14: .line 210
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.checkPolicy() BEFORE PROCESSING: inhibitAnyPolicy = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        15: .line 211
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.inhibitAnyPolicy:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 210
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        17: .line 212
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.checkPolicy() BEFORE PROCESSING: policyTree = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 213
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.rootNode:Lsun/security/provider/certpath/PolicyNodeImpl;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 212
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        20: .line 216
      StackMap locals: java.lang.String
      StackMap stack:
            aconst_null
            astore 3 /* currCertImpl */
        start local 3 // sun.security.x509.X509CertImpl currCertImpl
        21: .line 218
            aload 1 /* currCert */
            invokestatic sun.security.x509.X509CertImpl.toImpl:(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
            astore 3 /* currCertImpl */
        22: .line 219
            goto 25
      StackMap locals: sun.security.provider.certpath.PolicyChecker java.security.cert.X509Certificate java.lang.String sun.security.x509.X509CertImpl
      StackMap stack: java.security.cert.CertificateException
        23: astore 4 /* ce */
        start local 4 // java.security.cert.CertificateException ce
        24: .line 220
            new java.security.cert.CertPathValidatorException
            dup
            aload 4 /* ce */
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.security.cert.CertificateException ce
        25: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.certIndex:I
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.certPathLen:I
            if_icmpne 26
            iconst_1
            goto 27
      StackMap locals:
      StackMap stack:
        26: iconst_0
      StackMap locals:
      StackMap stack: int
        27: istore 4 /* finalCert */
        start local 4 // boolean finalCert
        28: .line 225
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.certIndex:I
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.initPolicies:Ljava/util/Set;
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.explicitPolicy:I
        29: .line 226
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.policyMapping:I
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.inhibitAnyPolicy:I
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.rejectPolicyQualifiers:Z
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.rootNode:Lsun/security/provider/certpath/PolicyNodeImpl;
        30: .line 227
            aload 3 /* currCertImpl */
            iload 4 /* finalCert */
        31: .line 225
            invokestatic sun.security.provider.certpath.PolicyChecker.processPolicies:(ILjava/util/Set;IIIZLsun/security/provider/certpath/PolicyNodeImpl;Lsun/security/x509/X509CertImpl;Z)Lsun/security/provider/certpath/PolicyNodeImpl;
            putfield sun.security.provider.certpath.PolicyChecker.rootNode:Lsun/security/provider/certpath/PolicyNodeImpl;
        32: .line 229
            iload 4 /* finalCert */
            ifne 40
        33: .line 230
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.explicitPolicy:I
            aload 3 /* currCertImpl */
        34: .line 231
            iload 4 /* finalCert */
        35: .line 230
            invokestatic sun.security.provider.certpath.PolicyChecker.mergeExplicitPolicy:(ILsun/security/x509/X509CertImpl;Z)I
            putfield sun.security.provider.certpath.PolicyChecker.explicitPolicy:I
        36: .line 232
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.policyMapping:I
            aload 3 /* currCertImpl */
            invokestatic sun.security.provider.certpath.PolicyChecker.mergePolicyMapping:(ILsun/security/x509/X509CertImpl;)I
            putfield sun.security.provider.certpath.PolicyChecker.policyMapping:I
        37: .line 233
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.inhibitAnyPolicy:I
        38: .line 234
            aload 3 /* currCertImpl */
        39: .line 233
            invokestatic sun.security.provider.certpath.PolicyChecker.mergeInhibitAnyPolicy:(ILsun/security/x509/X509CertImpl;)I
            putfield sun.security.provider.certpath.PolicyChecker.inhibitAnyPolicy:I
        40: .line 237
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.security.provider.certpath.PolicyChecker.certIndex:I
            iconst_1
            iadd
            putfield sun.security.provider.certpath.PolicyChecker.certIndex:I
        41: .line 239
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 55
        42: .line 240
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.checkPolicy() AFTER PROCESSING: explicitPolicy = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        43: .line 241
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.explicitPolicy:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        44: .line 240
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        45: .line 242
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.checkPolicy() AFTER PROCESSING: policyMapping = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        46: .line 243
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.policyMapping:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        47: .line 242
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        48: .line 244
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.checkPolicy() AFTER PROCESSING: inhibitAnyPolicy = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        49: .line 245
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.inhibitAnyPolicy:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        50: .line 244
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        51: .line 246
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.checkPolicy() AFTER PROCESSING: policyTree = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        52: .line 247
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.rootNode:Lsun/security/provider/certpath/PolicyNodeImpl;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        53: .line 246
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        54: .line 248
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.checkPolicy() "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " verified"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        55: .line 250
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean finalCert
        end local 3 // sun.security.x509.X509CertImpl currCertImpl
        end local 2 // java.lang.String msg
        end local 1 // java.security.cert.X509Certificate currCert
        end local 0 // sun.security.provider.certpath.PolicyChecker this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   56     0          this  Lsun/security/provider/certpath/PolicyChecker;
            0   56     1      currCert  Ljava/security/cert/X509Certificate;
            1   56     2           msg  Ljava/lang/String;
           21   56     3  currCertImpl  Lsun/security/x509/X509CertImpl;
           24   25     4            ce  Ljava/security/cert/CertificateException;
           28   56     4     finalCert  Z
      Exception table:
        from    to  target  type
          21    22      23  Class java.security.cert.CertificateException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
          Name  Flags
      currCert  

  static int mergeExplicitPolicy(int, sun.security.x509.X509CertImpl, boolean);
    descriptor: (ILsun/security/x509/X509CertImpl;Z)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // int explicitPolicy
        start local 1 // sun.security.x509.X509CertImpl currCert
        start local 2 // boolean finalCert
         0: .line 270
            iload 0 /* explicitPolicy */
            ifle 2
            aload 1 /* currCert */
            invokestatic sun.security.x509.X509CertImpl.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
            ifne 2
         1: .line 271
            iinc 0 /* explicitPolicy */ -1
         2: .line 276
      StackMap locals:
      StackMap stack:
            aload 1 /* currCert */
            invokevirtual sun.security.x509.X509CertImpl.getPolicyConstraintsExtension:()Lsun/security/x509/PolicyConstraintsExtension;
         3: .line 275
            astore 3 /* polConstExt */
        start local 3 // sun.security.x509.PolicyConstraintsExtension polConstExt
         4: .line 277
            aload 3 /* polConstExt */
            ifnonnull 7
         5: .line 278
            iload 0 /* explicitPolicy */
         6: ireturn
         7: .line 280
      StackMap locals: sun.security.x509.PolicyConstraintsExtension
      StackMap stack:
            aload 3 /* polConstExt */
            ldc "require"
            invokevirtual sun.security.x509.PolicyConstraintsExtension.get:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
         8: .line 279
            istore 4 /* require */
        start local 4 // int require
         9: .line 281
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 13
        10: .line 282
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.mergeExplicitPolicy() require Index from cert = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 283
            iload 4 /* require */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 282
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        13: .line 285
      StackMap locals: int
      StackMap stack:
            iload 2 /* finalCert */
            ifne 18
        14: .line 286
            iload 4 /* require */
            iconst_m1
            if_icmpeq 26
        15: .line 287
            iload 0 /* explicitPolicy */
            iconst_m1
            if_icmpeq 16
            iload 4 /* require */
            iload 0 /* explicitPolicy */
            if_icmpge 26
        16: .line 288
      StackMap locals:
      StackMap stack:
            iload 4 /* require */
            istore 0 /* explicitPolicy */
        17: .line 291
            goto 26
        18: .line 292
      StackMap locals:
      StackMap stack:
            iload 4 /* require */
            ifne 26
        19: .line 293
            iload 4 /* require */
            istore 0 /* explicitPolicy */
        end local 4 // int require
        end local 3 // sun.security.x509.PolicyConstraintsExtension polConstExt
        20: .line 295
            goto 26
      StackMap locals: int sun.security.x509.X509CertImpl int
      StackMap stack: java.io.IOException
        21: astore 3 /* e */
        start local 3 // java.io.IOException e
        22: .line 296
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 25
        23: .line 297
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ldc "PolicyChecker.mergeExplicitPolicy unexpected exception"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        24: .line 299
            aload 3 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        25: .line 301
      StackMap locals: java.io.IOException
      StackMap stack:
            new java.security.cert.CertPathValidatorException
            dup
            aload 3 /* e */
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.IOException e
        26: .line 304
      StackMap locals:
      StackMap stack:
            iload 0 /* explicitPolicy */
            ireturn
        end local 2 // boolean finalCert
        end local 1 // sun.security.x509.X509CertImpl currCert
        end local 0 // int explicitPolicy
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   27     0  explicitPolicy  I
            0   27     1        currCert  Lsun/security/x509/X509CertImpl;
            0   27     2       finalCert  Z
            4   20     3     polConstExt  Lsun/security/x509/PolicyConstraintsExtension;
            9   20     4         require  I
           22   26     3               e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     6      21  Class java.io.IOException
           7    20      21  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
                Name  Flags
      explicitPolicy  
      currCert        
      finalCert       

  static int mergePolicyMapping(int, sun.security.x509.X509CertImpl);
    descriptor: (ILsun/security/x509/X509CertImpl;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // int policyMapping
        start local 1 // sun.security.x509.X509CertImpl currCert
         0: .line 323
            iload 0 /* policyMapping */
            ifle 2
            aload 1 /* currCert */
            invokestatic sun.security.x509.X509CertImpl.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
            ifne 2
         1: .line 324
            iinc 0 /* policyMapping */ -1
         2: .line 329
      StackMap locals:
      StackMap stack:
            aload 1 /* currCert */
            invokevirtual sun.security.x509.X509CertImpl.getPolicyConstraintsExtension:()Lsun/security/x509/PolicyConstraintsExtension;
         3: .line 328
            astore 2 /* polConstExt */
        start local 2 // sun.security.x509.PolicyConstraintsExtension polConstExt
         4: .line 330
            aload 2 /* polConstExt */
            ifnonnull 7
         5: .line 331
            iload 0 /* policyMapping */
         6: ireturn
         7: .line 334
      StackMap locals: sun.security.x509.PolicyConstraintsExtension
      StackMap stack:
            aload 2 /* polConstExt */
            ldc "inhibit"
            invokevirtual sun.security.x509.PolicyConstraintsExtension.get:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
         8: .line 333
            istore 3 /* inhibit */
        start local 3 // int inhibit
         9: .line 335
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 13
        10: .line 336
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.mergePolicyMapping() inhibit Index from cert = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 337
            iload 3 /* inhibit */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 336
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        13: .line 339
      StackMap locals: int
      StackMap stack:
            iload 3 /* inhibit */
            iconst_m1
            if_icmpeq 22
        14: .line 340
            iload 0 /* policyMapping */
            iconst_m1
            if_icmpeq 15
            iload 3 /* inhibit */
            iload 0 /* policyMapping */
            if_icmpge 22
        15: .line 341
      StackMap locals:
      StackMap stack:
            iload 3 /* inhibit */
            istore 0 /* policyMapping */
        end local 3 // int inhibit
        end local 2 // sun.security.x509.PolicyConstraintsExtension polConstExt
        16: .line 344
            goto 22
      StackMap locals: int sun.security.x509.X509CertImpl
      StackMap stack: java.io.IOException
        17: astore 2 /* e */
        start local 2 // java.io.IOException e
        18: .line 345
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 21
        19: .line 346
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ldc "PolicyChecker.mergePolicyMapping unexpected exception"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        20: .line 348
            aload 2 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        21: .line 350
      StackMap locals: java.io.IOException
      StackMap stack:
            new java.security.cert.CertPathValidatorException
            dup
            aload 2 /* e */
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException e
        22: .line 353
      StackMap locals:
      StackMap stack:
            iload 0 /* policyMapping */
            ireturn
        end local 1 // sun.security.x509.X509CertImpl currCert
        end local 0 // int policyMapping
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   23     0  policyMapping  I
            0   23     1       currCert  Lsun/security/x509/X509CertImpl;
            4   16     2    polConstExt  Lsun/security/x509/PolicyConstraintsExtension;
            9   16     3        inhibit  I
           18   22     2              e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     6      17  Class java.io.IOException
           7    16      17  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
               Name  Flags
      policyMapping  
      currCert       

  static int mergeInhibitAnyPolicy(int, sun.security.x509.X509CertImpl);
    descriptor: (ILsun/security/x509/X509CertImpl;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // int inhibitAnyPolicy
        start local 1 // sun.security.x509.X509CertImpl currCert
         0: .line 371
            iload 0 /* inhibitAnyPolicy */
            ifle 2
            aload 1 /* currCert */
            invokestatic sun.security.x509.X509CertImpl.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
            ifne 2
         1: .line 372
            iinc 0 /* inhibitAnyPolicy */ -1
         2: .line 377
      StackMap locals:
      StackMap stack:
            aload 1 /* currCert */
            getstatic sun.security.x509.PKIXExtensions.InhibitAnyPolicy_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.x509.X509CertImpl.getExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
         3: .line 376
            checkcast sun.security.x509.InhibitAnyPolicyExtension
            astore 2 /* inhAnyPolExt */
        start local 2 // sun.security.x509.InhibitAnyPolicyExtension inhAnyPolExt
         4: .line 378
            aload 2 /* inhAnyPolExt */
            ifnonnull 7
         5: .line 379
            iload 0 /* inhibitAnyPolicy */
         6: ireturn
         7: .line 382
      StackMap locals: sun.security.x509.InhibitAnyPolicyExtension
      StackMap stack:
            aload 2 /* inhAnyPolExt */
            ldc "skip_certs"
            invokevirtual sun.security.x509.InhibitAnyPolicyExtension.get:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
         8: .line 381
            istore 3 /* skipCerts */
        start local 3 // int skipCerts
         9: .line 383
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 13
        10: .line 384
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.mergeInhibitAnyPolicy() skipCerts Index from cert = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 385
            iload 3 /* skipCerts */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 384
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        13: .line 387
      StackMap locals: int
      StackMap stack:
            iload 3 /* skipCerts */
            iconst_m1
            if_icmpeq 22
        14: .line 388
            iload 3 /* skipCerts */
            iload 0 /* inhibitAnyPolicy */
            if_icmpge 22
        15: .line 389
            iload 3 /* skipCerts */
            istore 0 /* inhibitAnyPolicy */
        end local 3 // int skipCerts
        end local 2 // sun.security.x509.InhibitAnyPolicyExtension inhAnyPolExt
        16: .line 392
            goto 22
      StackMap locals: int sun.security.x509.X509CertImpl
      StackMap stack: java.io.IOException
        17: astore 2 /* e */
        start local 2 // java.io.IOException e
        18: .line 393
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 21
        19: .line 394
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ldc "PolicyChecker.mergeInhibitAnyPolicy unexpected exception"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        20: .line 396
            aload 2 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        21: .line 398
      StackMap locals: java.io.IOException
      StackMap stack:
            new java.security.cert.CertPathValidatorException
            dup
            aload 2 /* e */
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException e
        22: .line 401
      StackMap locals:
      StackMap stack:
            iload 0 /* inhibitAnyPolicy */
            ireturn
        end local 1 // sun.security.x509.X509CertImpl currCert
        end local 0 // int inhibitAnyPolicy
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   23     0  inhibitAnyPolicy  I
            0   23     1          currCert  Lsun/security/x509/X509CertImpl;
            4   16     2      inhAnyPolExt  Lsun/security/x509/InhibitAnyPolicyExtension;
            9   16     3         skipCerts  I
           18   22     2                 e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     6      17  Class java.io.IOException
           7    16      17  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
                  Name  Flags
      inhibitAnyPolicy  
      currCert          

  static sun.security.provider.certpath.PolicyNodeImpl processPolicies(int, java.util.Set<java.lang.String>, int, int, int, boolean, sun.security.provider.certpath.PolicyNodeImpl, sun.security.x509.X509CertImpl, boolean);
    descriptor: (ILjava/util/Set;IIIZLsun/security/provider/certpath/PolicyNodeImpl;Lsun/security/x509/X509CertImpl;Z)Lsun/security/provider/certpath/PolicyNodeImpl;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=20, args_size=9
        start local 0 // int certIndex
        start local 1 // java.util.Set initPolicies
        start local 2 // int explicitPolicy
        start local 3 // int policyMapping
        start local 4 // int inhibitAnyPolicy
        start local 5 // boolean rejectPolicyQualifiers
        start local 6 // sun.security.provider.certpath.PolicyNodeImpl origRootNode
        start local 7 // sun.security.x509.X509CertImpl currCert
        start local 8 // boolean finalCert
         0: .line 431
            iconst_0
            istore 9 /* policiesCritical */
        start local 9 // boolean policiesCritical
         1: .line 433
            aconst_null
            astore 11 /* rootNode */
        start local 11 // sun.security.provider.certpath.PolicyNodeImpl rootNode
         2: .line 434
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 12 /* anyQuals */
        start local 12 // java.util.Set anyQuals
         3: .line 436
            aload 6 /* origRootNode */
            ifnonnull 5
         4: .line 437
            aconst_null
            astore 11 /* rootNode */
            goto 6
         5: .line 439
      StackMap locals: int java.util.Set int int int int sun.security.provider.certpath.PolicyNodeImpl sun.security.x509.X509CertImpl int int top sun.security.provider.certpath.PolicyNodeImpl java.util.Set
      StackMap stack:
            aload 6 /* origRootNode */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.copyTree:()Lsun/security/provider/certpath/PolicyNodeImpl;
            astore 11 /* rootNode */
         6: .line 443
      StackMap locals:
      StackMap stack:
            aload 7 /* currCert */
            invokevirtual sun.security.x509.X509CertImpl.getCertificatePoliciesExtension:()Lsun/security/x509/CertificatePoliciesExtension;
         7: .line 442
            astore 13 /* currCertPolicies */
        start local 13 // sun.security.x509.CertificatePoliciesExtension currCertPolicies
         8: .line 446
            aload 13 /* currCertPolicies */
            ifnull 70
            aload 11 /* rootNode */
            ifnull 70
         9: .line 447
            aload 13 /* currCertPolicies */
            invokevirtual sun.security.x509.CertificatePoliciesExtension.isCritical:()Z
            istore 9 /* policiesCritical */
        10: .line 448
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 14
        11: .line 449
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.processPolicies() policiesCritical = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        12: .line 450
            iload 9 /* policiesCritical */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 449
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        14: .line 453
      StackMap locals: sun.security.x509.CertificatePoliciesExtension
      StackMap stack:
            aload 13 /* currCertPolicies */
            ldc "policies"
            invokevirtual sun.security.x509.CertificatePoliciesExtension.get:(Ljava/lang/String;)Ljava/util/List;
            astore 10 /* policyInfo */
        start local 10 // java.util.List policyInfo
        15: .line 454
            goto 20
        end local 10 // java.util.List policyInfo
      StackMap locals:
      StackMap stack: java.io.IOException
        16: astore 14 /* ioe */
        start local 14 // java.io.IOException ioe
        17: .line 455
            new java.security.cert.CertPathValidatorException
            dup
            ldc "Exception while retrieving policyOIDs"
        18: .line 456
            aload 14 /* ioe */
        19: .line 455
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 14 // java.io.IOException ioe
        start local 10 // java.util.List policyInfo
        20: .line 459
      StackMap locals: int java.util.Set int int int int sun.security.provider.certpath.PolicyNodeImpl sun.security.x509.X509CertImpl int int java.util.List sun.security.provider.certpath.PolicyNodeImpl java.util.Set sun.security.x509.CertificatePoliciesExtension
      StackMap stack:
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 24
        21: .line 460
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.processPolicies() rejectPolicyQualifiers = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        22: .line 461
            iload 5 /* rejectPolicyQualifiers */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 460
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        24: .line 463
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 14 /* foundAnyPolicy */
        start local 14 // boolean foundAnyPolicy
        25: .line 466
            aload 10 /* policyInfo */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 16
            goto 54
      StackMap locals: int java.util.Set int int int int sun.security.provider.certpath.PolicyNodeImpl sun.security.x509.X509CertImpl int int java.util.List sun.security.provider.certpath.PolicyNodeImpl java.util.Set sun.security.x509.CertificatePoliciesExtension int top java.util.Iterator
      StackMap stack:
        26: aload 16
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.PolicyInformation
            astore 15 /* curPolInfo */
        start local 15 // sun.security.x509.PolicyInformation curPolInfo
        27: .line 468
            aload 15 /* curPolInfo */
            invokevirtual sun.security.x509.PolicyInformation.getPolicyIdentifier:()Lsun/security/x509/CertificatePolicyId;
            invokevirtual sun.security.x509.CertificatePolicyId.getIdentifier:()Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
        28: .line 467
            astore 17 /* curPolicy */
        start local 17 // java.lang.String curPolicy
        29: .line 470
            aload 17 /* curPolicy */
            getstatic sun.security.provider.certpath.PolicyChecker.ANY_POLICY:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
        30: .line 471
            iconst_1
            istore 14 /* foundAnyPolicy */
        31: .line 472
            aload 15 /* curPolInfo */
            invokevirtual sun.security.x509.PolicyInformation.getPolicyQualifiers:()Ljava/util/Set;
            astore 12 /* anyQuals */
        32: .line 473
            goto 54
        33: .line 475
      StackMap locals: int java.util.Set int int int int sun.security.provider.certpath.PolicyNodeImpl sun.security.x509.X509CertImpl int int java.util.List sun.security.provider.certpath.PolicyNodeImpl java.util.Set sun.security.x509.CertificatePoliciesExtension int sun.security.x509.PolicyInformation java.util.Iterator java.lang.String
      StackMap stack:
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 37
        34: .line 476
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.processPolicies() processing policy: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        35: .line 477
            aload 17 /* curPolicy */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 476
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        37: .line 481
      StackMap locals:
      StackMap stack:
            aload 15 /* curPolInfo */
            invokevirtual sun.security.x509.PolicyInformation.getPolicyQualifiers:()Ljava/util/Set;
        38: .line 480
            astore 18 /* pQuals */
        start local 18 // java.util.Set pQuals
        39: .line 485
            aload 18 /* pQuals */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 45
            iload 5 /* rejectPolicyQualifiers */
            ifeq 45
        40: .line 486
            iload 9 /* policiesCritical */
            ifeq 45
        41: .line 487
            new java.security.cert.CertPathValidatorException
            dup
        42: .line 488
            ldc "critical policy qualifiers present in certificate"
        43: .line 489
            aconst_null
            aconst_null
            iconst_m1
            getstatic java.security.cert.PKIXReason.INVALID_POLICY:Ljava/security/cert/PKIXReason;
        44: .line 487
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V
            athrow
        45: .line 493
      StackMap locals: java.util.Set
      StackMap stack:
            iload 0 /* certIndex */
        46: .line 494
            iload 9 /* policiesCritical */
            iload 5 /* rejectPolicyQualifiers */
            aload 11 /* rootNode */
        47: .line 495
            aload 17 /* curPolicy */
            aload 18 /* pQuals */
            iconst_0
        48: .line 493
            invokestatic sun.security.provider.certpath.PolicyChecker.processParents:(IZZLsun/security/provider/certpath/PolicyNodeImpl;Ljava/lang/String;Ljava/util/Set;Z)Z
            istore 19 /* foundMatch */
        start local 19 // boolean foundMatch
        49: .line 497
            iload 19 /* foundMatch */
            ifne 54
        50: .line 499
            iload 0 /* certIndex */
            iload 9 /* policiesCritical */
        51: .line 500
            iload 5 /* rejectPolicyQualifiers */
            aload 11 /* rootNode */
            aload 17 /* curPolicy */
        52: .line 501
            aload 18 /* pQuals */
            iconst_1
        53: .line 499
            invokestatic sun.security.provider.certpath.PolicyChecker.processParents:(IZZLsun/security/provider/certpath/PolicyNodeImpl;Ljava/lang/String;Ljava/util/Set;Z)Z
            pop
        end local 19 // boolean foundMatch
        end local 18 // java.util.Set pQuals
        end local 17 // java.lang.String curPolicy
        end local 15 // sun.security.x509.PolicyInformation curPolInfo
        54: .line 466
      StackMap locals: int java.util.Set int int int int sun.security.provider.certpath.PolicyNodeImpl sun.security.x509.X509CertImpl int int java.util.List sun.security.provider.certpath.PolicyNodeImpl java.util.Set sun.security.x509.CertificatePoliciesExtension int top java.util.Iterator
      StackMap stack:
            aload 16
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        55: .line 507
            iload 14 /* foundAnyPolicy */
            ifeq 66
        56: .line 508
            iload 4 /* inhibitAnyPolicy */
            ifgt 58
        57: .line 509
            iload 8 /* finalCert */
            ifne 66
            aload 7 /* currCert */
            invokestatic sun.security.x509.X509CertImpl.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
            ifeq 66
        58: .line 510
      StackMap locals: int java.util.Set int int int int sun.security.provider.certpath.PolicyNodeImpl sun.security.x509.X509CertImpl int int java.util.List sun.security.provider.certpath.PolicyNodeImpl java.util.Set sun.security.x509.CertificatePoliciesExtension int
      StackMap stack:
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 62
        59: .line 511
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.processPolicies() processing policy: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        60: .line 512
            getstatic sun.security.provider.certpath.PolicyChecker.ANY_POLICY:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        61: .line 511
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        62: .line 514
      StackMap locals:
      StackMap stack:
            iload 0 /* certIndex */
            iload 9 /* policiesCritical */
        63: .line 515
            iload 5 /* rejectPolicyQualifiers */
            aload 11 /* rootNode */
            getstatic sun.security.provider.certpath.PolicyChecker.ANY_POLICY:Ljava/lang/String;
            aload 12 /* anyQuals */
        64: .line 516
            iconst_1
        65: .line 514
            invokestatic sun.security.provider.certpath.PolicyChecker.processParents:(IZZLsun/security/provider/certpath/PolicyNodeImpl;Ljava/lang/String;Ljava/util/Set;Z)Z
            pop
        66: .line 521
      StackMap locals:
      StackMap stack:
            aload 11 /* rootNode */
            iload 0 /* certIndex */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.prune:(I)V
        67: .line 522
            aload 11 /* rootNode */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getChildren:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 74
        68: .line 523
            aconst_null
            astore 11 /* rootNode */
        end local 14 // boolean foundAnyPolicy
        69: .line 525
            goto 74
        end local 10 // java.util.List policyInfo
      StackMap locals: int java.util.Set int int int int sun.security.provider.certpath.PolicyNodeImpl sun.security.x509.X509CertImpl int int top sun.security.provider.certpath.PolicyNodeImpl java.util.Set sun.security.x509.CertificatePoliciesExtension
      StackMap stack:
        70: aload 13 /* currCertPolicies */
            ifnonnull 74
        71: .line 526
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 73
        72: .line 527
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ldc "PolicyChecker.processPolicies() no policies present in cert"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        73: .line 530
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 11 /* rootNode */
        74: .line 536
      StackMap locals:
      StackMap stack:
            aload 11 /* rootNode */
            ifnull 79
        75: .line 537
            iload 8 /* finalCert */
            ifne 79
        76: .line 539
            aload 7 /* currCert */
            iload 0 /* certIndex */
        77: .line 540
            iload 3 /* policyMapping */
            aload 11 /* rootNode */
            iload 9 /* policiesCritical */
            aload 12 /* anyQuals */
        78: .line 539
            invokestatic sun.security.provider.certpath.PolicyChecker.processPolicyMappings:(Lsun/security/x509/X509CertImpl;IILsun/security/provider/certpath/PolicyNodeImpl;ZLjava/util/Set;)Lsun/security/provider/certpath/PolicyNodeImpl;
            astore 11 /* rootNode */
        79: .line 548
      StackMap locals:
      StackMap stack:
            aload 11 /* rootNode */
            ifnull 86
            aload 1 /* initPolicies */
            getstatic sun.security.provider.certpath.PolicyChecker.ANY_POLICY:Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 86
        80: .line 549
            aload 13 /* currCertPolicies */
            ifnull 86
        81: .line 550
            aload 11 /* rootNode */
            iload 0 /* certIndex */
        82: .line 551
            aload 1 /* initPolicies */
            aload 13 /* currCertPolicies */
        83: .line 550
            invokestatic sun.security.provider.certpath.PolicyChecker.removeInvalidNodes:(Lsun/security/provider/certpath/PolicyNodeImpl;ILjava/util/Set;Lsun/security/x509/CertificatePoliciesExtension;)Lsun/security/provider/certpath/PolicyNodeImpl;
            astore 11 /* rootNode */
        84: .line 554
            aload 11 /* rootNode */
            ifnull 86
            iload 8 /* finalCert */
            ifeq 86
        85: .line 556
            iload 0 /* certIndex */
            aload 1 /* initPolicies */
            aload 11 /* rootNode */
            invokestatic sun.security.provider.certpath.PolicyChecker.rewriteLeafNodes:(ILjava/util/Set;Lsun/security/provider/certpath/PolicyNodeImpl;)Lsun/security/provider/certpath/PolicyNodeImpl;
            astore 11 /* rootNode */
        86: .line 561
      StackMap locals:
      StackMap stack:
            iload 8 /* finalCert */
            ifeq 90
        87: .line 563
            iload 2 /* explicitPolicy */
            aload 7 /* currCert */
        88: .line 564
            iload 8 /* finalCert */
        89: .line 563
            invokestatic sun.security.provider.certpath.PolicyChecker.mergeExplicitPolicy:(ILsun/security/x509/X509CertImpl;Z)I
            istore 2 /* explicitPolicy */
        90: .line 571
      StackMap locals:
      StackMap stack:
            iload 2 /* explicitPolicy */
            ifne 95
            aload 11 /* rootNode */
            ifnonnull 95
        91: .line 572
            new java.security.cert.CertPathValidatorException
            dup
        92: .line 573
            ldc "non-null policy tree required and policy tree is null"
        93: .line 574
            aconst_null
            aconst_null
            iconst_m1
            getstatic java.security.cert.PKIXReason.INVALID_POLICY:Ljava/security/cert/PKIXReason;
        94: .line 572
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V
            athrow
        95: .line 577
      StackMap locals:
      StackMap stack:
            aload 11 /* rootNode */
            areturn
        end local 13 // sun.security.x509.CertificatePoliciesExtension currCertPolicies
        end local 12 // java.util.Set anyQuals
        end local 11 // sun.security.provider.certpath.PolicyNodeImpl rootNode
        end local 9 // boolean policiesCritical
        end local 8 // boolean finalCert
        end local 7 // sun.security.x509.X509CertImpl currCert
        end local 6 // sun.security.provider.certpath.PolicyNodeImpl origRootNode
        end local 5 // boolean rejectPolicyQualifiers
        end local 4 // int inhibitAnyPolicy
        end local 3 // int policyMapping
        end local 2 // int explicitPolicy
        end local 1 // java.util.Set initPolicies
        end local 0 // int certIndex
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   96     0               certIndex  I
            0   96     1            initPolicies  Ljava/util/Set<Ljava/lang/String;>;
            0   96     2          explicitPolicy  I
            0   96     3           policyMapping  I
            0   96     4        inhibitAnyPolicy  I
            0   96     5  rejectPolicyQualifiers  Z
            0   96     6            origRootNode  Lsun/security/provider/certpath/PolicyNodeImpl;
            0   96     7                currCert  Lsun/security/x509/X509CertImpl;
            0   96     8               finalCert  Z
            1   96     9        policiesCritical  Z
           15   16    10              policyInfo  Ljava/util/List<Lsun/security/x509/PolicyInformation;>;
           20   70    10              policyInfo  Ljava/util/List<Lsun/security/x509/PolicyInformation;>;
            2   96    11                rootNode  Lsun/security/provider/certpath/PolicyNodeImpl;
            3   96    12                anyQuals  Ljava/util/Set<Ljava/security/cert/PolicyQualifierInfo;>;
            8   96    13        currCertPolicies  Lsun/security/x509/CertificatePoliciesExtension;
           17   20    14                     ioe  Ljava/io/IOException;
           25   69    14          foundAnyPolicy  Z
           27   54    15              curPolInfo  Lsun/security/x509/PolicyInformation;
           29   54    17               curPolicy  Ljava/lang/String;
           39   54    18                  pQuals  Ljava/util/Set<Ljava/security/cert/PolicyQualifierInfo;>;
           49   54    19              foundMatch  Z
      Exception table:
        from    to  target  type
          14    15      16  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    Signature: (ILjava/util/Set<Ljava/lang/String;>;IIIZLsun/security/provider/certpath/PolicyNodeImpl;Lsun/security/x509/X509CertImpl;Z)Lsun/security/provider/certpath/PolicyNodeImpl;
    MethodParameters:
                        Name  Flags
      certIndex               
      initPolicies            
      explicitPolicy          
      policyMapping           
      inhibitAnyPolicy        
      rejectPolicyQualifiers  
      origRootNode            
      currCert                
      finalCert               

  private static sun.security.provider.certpath.PolicyNodeImpl rewriteLeafNodes(int, java.util.Set<java.lang.String>, sun.security.provider.certpath.PolicyNodeImpl);
    descriptor: (ILjava/util/Set;Lsun/security/provider/certpath/PolicyNodeImpl;)Lsun/security/provider/certpath/PolicyNodeImpl;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=12, args_size=3
        start local 0 // int certIndex
        start local 1 // java.util.Set initPolicies
        start local 2 // sun.security.provider.certpath.PolicyNodeImpl rootNode
         0: .line 597
            aload 2 /* rootNode */
            iload 0 /* certIndex */
            getstatic sun.security.provider.certpath.PolicyChecker.ANY_POLICY:Ljava/lang/String;
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getPolicyNodesValid:(ILjava/lang/String;)Ljava/util/Set;
         1: .line 596
            astore 3 /* anyNodes */
        start local 3 // java.util.Set anyNodes
         2: .line 598
            aload 3 /* anyNodes */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 4
         3: .line 599
            aload 2 /* rootNode */
            areturn
         4: .line 601
      StackMap locals: java.util.Set
      StackMap stack:
            aload 3 /* anyNodes */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.certpath.PolicyNodeImpl
            astore 4 /* anyNode */
        start local 4 // sun.security.provider.certpath.PolicyNodeImpl anyNode
         5: .line 602
            aload 4 /* anyNode */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getParent:()Ljava/security/cert/PolicyNode;
            checkcast sun.security.provider.certpath.PolicyNodeImpl
            astore 5 /* parentNode */
        start local 5 // sun.security.provider.certpath.PolicyNodeImpl parentNode
         6: .line 603
            aload 5 /* parentNode */
            aload 4 /* anyNode */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.deleteChild:(Ljava/security/cert/PolicyNode;)V
         7: .line 605
            new java.util.HashSet
            dup
            aload 1 /* initPolicies */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 6 /* initial */
        start local 6 // java.util.Set initial
         8: .line 606
            aload 2 /* rootNode */
            iload 0 /* certIndex */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getPolicyNodes:(I)Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 11
      StackMap locals: int java.util.Set sun.security.provider.certpath.PolicyNodeImpl java.util.Set sun.security.provider.certpath.PolicyNodeImpl sun.security.provider.certpath.PolicyNodeImpl java.util.Set top java.util.Iterator
      StackMap stack:
         9: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.certpath.PolicyNodeImpl
            astore 7 /* node */
        start local 7 // sun.security.provider.certpath.PolicyNodeImpl node
        10: .line 607
            aload 6 /* initial */
            aload 7 /* node */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getValidPolicy:()Ljava/lang/String;
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        end local 7 // sun.security.provider.certpath.PolicyNodeImpl node
        11: .line 606
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 609
            aload 6 /* initial */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 17
        13: .line 612
            aload 2 /* rootNode */
            iload 0 /* certIndex */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.prune:(I)V
        14: .line 613
            aload 2 /* rootNode */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getChildren:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 27
        15: .line 614
            aconst_null
            astore 2 /* rootNode */
        16: .line 616
            goto 27
        17: .line 617
      StackMap locals: int java.util.Set sun.security.provider.certpath.PolicyNodeImpl java.util.Set sun.security.provider.certpath.PolicyNodeImpl sun.security.provider.certpath.PolicyNodeImpl java.util.Set
      StackMap stack:
            aload 4 /* anyNode */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.isCritical:()Z
            istore 7 /* anyCritical */
        start local 7 // boolean anyCritical
        18: .line 619
            aload 4 /* anyNode */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getPolicyQualifiers:()Ljava/util/Set;
        19: .line 618
            astore 8 /* anyQualifiers */
        start local 8 // java.util.Set anyQualifiers
        20: .line 620
            aload 6 /* initial */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 26
      StackMap locals: int java.util.Set sun.security.provider.certpath.PolicyNodeImpl java.util.Set sun.security.provider.certpath.PolicyNodeImpl sun.security.provider.certpath.PolicyNodeImpl java.util.Set int java.util.Set top java.util.Iterator
      StackMap stack:
        21: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* policy */
        start local 9 // java.lang.String policy
        22: .line 621
            aload 9 /* policy */
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            astore 11 /* expectedPolicies */
        start local 11 // java.util.Set expectedPolicies
        23: .line 622
            new sun.security.provider.certpath.PolicyNodeImpl
            aload 5 /* parentNode */
            aload 9 /* policy */
        24: .line 623
            aload 8 /* anyQualifiers */
            iload 7 /* anyCritical */
            aload 11 /* expectedPolicies */
            iconst_0
        25: .line 622
            invokespecial sun.security.provider.certpath.PolicyNodeImpl.<init>:(Lsun/security/provider/certpath/PolicyNodeImpl;Ljava/lang/String;Ljava/util/Set;ZLjava/util/Set;Z)V
        end local 11 // java.util.Set expectedPolicies
        end local 9 // java.lang.String policy
        26: .line 620
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        end local 8 // java.util.Set anyQualifiers
        end local 7 // boolean anyCritical
        27: .line 626
      StackMap locals: int java.util.Set sun.security.provider.certpath.PolicyNodeImpl java.util.Set sun.security.provider.certpath.PolicyNodeImpl sun.security.provider.certpath.PolicyNodeImpl java.util.Set
      StackMap stack:
            aload 2 /* rootNode */
            areturn
        end local 6 // java.util.Set initial
        end local 5 // sun.security.provider.certpath.PolicyNodeImpl parentNode
        end local 4 // sun.security.provider.certpath.PolicyNodeImpl anyNode
        end local 3 // java.util.Set anyNodes
        end local 2 // sun.security.provider.certpath.PolicyNodeImpl rootNode
        end local 1 // java.util.Set initPolicies
        end local 0 // int certIndex
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   28     0         certIndex  I
            0   28     1      initPolicies  Ljava/util/Set<Ljava/lang/String;>;
            0   28     2          rootNode  Lsun/security/provider/certpath/PolicyNodeImpl;
            2   28     3          anyNodes  Ljava/util/Set<Lsun/security/provider/certpath/PolicyNodeImpl;>;
            5   28     4           anyNode  Lsun/security/provider/certpath/PolicyNodeImpl;
            6   28     5        parentNode  Lsun/security/provider/certpath/PolicyNodeImpl;
            8   28     6           initial  Ljava/util/Set<Ljava/lang/String;>;
           10   11     7              node  Lsun/security/provider/certpath/PolicyNodeImpl;
           18   27     7       anyCritical  Z
           20   27     8     anyQualifiers  Ljava/util/Set<Ljava/security/cert/PolicyQualifierInfo;>;
           22   26     9            policy  Ljava/lang/String;
           23   26    11  expectedPolicies  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (ILjava/util/Set<Ljava/lang/String;>;Lsun/security/provider/certpath/PolicyNodeImpl;)Lsun/security/provider/certpath/PolicyNodeImpl;
    MethodParameters:
              Name  Flags
      certIndex     
      initPolicies  
      rootNode      

  private static boolean processParents(int, boolean, boolean, sun.security.provider.certpath.PolicyNodeImpl, java.lang.String, java.util.Set<java.security.cert.PolicyQualifierInfo>, );
    descriptor: (IZZLsun/security/provider/certpath/PolicyNodeImpl;Ljava/lang/String;Ljava/util/Set;Z)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=18, args_size=7
        start local 0 // int certIndex
        start local 1 // boolean policiesCritical
        start local 2 // boolean rejectPolicyQualifiers
        start local 3 // sun.security.provider.certpath.PolicyNodeImpl rootNode
        start local 4 // java.lang.String curPolicy
        start local 5 // java.util.Set pQuals
        start local 6 // boolean matchAny
         0: .line 659
            iconst_0
            istore 7 /* foundMatch */
        start local 7 // boolean foundMatch
         1: .line 661
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 5
         2: .line 662
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.processParents(): matchAny = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 663
            iload 6 /* matchAny */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 662
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         5: .line 667
      StackMap locals: int
      StackMap stack:
            aload 3 /* rootNode */
            iload 0 /* certIndex */
            iconst_1
            isub
         6: .line 668
            aload 4 /* curPolicy */
            iload 6 /* matchAny */
         7: .line 667
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getPolicyNodesExpected:(ILjava/lang/String;Z)Ljava/util/Set;
         8: .line 666
            astore 8 /* parentNodes */
        start local 8 // java.util.Set parentNodes
         9: .line 671
            aload 8 /* parentNodes */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 49
      StackMap locals: int int int sun.security.provider.certpath.PolicyNodeImpl java.lang.String java.util.Set int int java.util.Set top java.util.Iterator
      StackMap stack:
        10: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.certpath.PolicyNodeImpl
            astore 9 /* curParent */
        start local 9 // sun.security.provider.certpath.PolicyNodeImpl curParent
        11: .line 672
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 15
        12: .line 673
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.processParents() found parent:\n"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        13: .line 674
            aload 9 /* curParent */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.asString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 673
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        15: .line 676
      StackMap locals: int int int sun.security.provider.certpath.PolicyNodeImpl java.lang.String java.util.Set int int java.util.Set sun.security.provider.certpath.PolicyNodeImpl java.util.Iterator
      StackMap stack:
            iconst_1
            istore 7 /* foundMatch */
        16: .line 677
            aload 9 /* curParent */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getValidPolicy:()Ljava/lang/String;
            pop
        17: .line 680
            aconst_null
            astore 11 /* curExpPols */
        start local 11 // java.util.Set curExpPols
        18: .line 682
            aload 4 /* curPolicy */
            getstatic sun.security.provider.certpath.PolicyChecker.ANY_POLICY:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 43
        19: .line 684
            aload 9 /* curParent */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getExpectedPolicies:()Ljava/util/Set;
            astore 12 /* parExpPols */
        start local 12 // java.util.Set parExpPols
        20: .line 686
            aload 12 /* parExpPols */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 14
            goto 41
      StackMap locals: int int int sun.security.provider.certpath.PolicyNodeImpl java.lang.String java.util.Set int int java.util.Set sun.security.provider.certpath.PolicyNodeImpl java.util.Iterator java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        21: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 13 /* curParExpPol */
        start local 13 // java.lang.String curParExpPol
        22: .line 689
            aload 9 /* curParent */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getChildren:()Ljava/util/Iterator;
        23: .line 688
            astore 15 /* childIter */
        start local 15 // java.util.Iterator childIter
        24: .line 690
            goto 34
        25: .line 691
      StackMap locals: int int int sun.security.provider.certpath.PolicyNodeImpl java.lang.String java.util.Set int int java.util.Set sun.security.provider.certpath.PolicyNodeImpl java.util.Iterator java.util.Set java.util.Set java.lang.String java.util.Iterator java.util.Iterator
      StackMap stack:
            aload 15 /* childIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.certpath.PolicyNodeImpl
            astore 16 /* childNode */
        start local 16 // sun.security.provider.certpath.PolicyNodeImpl childNode
        26: .line 692
            aload 16 /* childNode */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getValidPolicy:()Ljava/lang/String;
            astore 17 /* childPolicy */
        start local 17 // java.lang.String childPolicy
        27: .line 693
            aload 13 /* curParExpPol */
            aload 17 /* childPolicy */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 34
        28: .line 694
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 41
        29: .line 695
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            aload 17 /* childPolicy */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " in parent's "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 696
            ldc "expected policy set already appears in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        31: .line 697
            ldc "child node"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 695
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        33: .line 698
            goto 41
        end local 17 // java.lang.String childPolicy
        end local 16 // sun.security.provider.certpath.PolicyNodeImpl childNode
        34: .line 690
      StackMap locals:
      StackMap stack:
            aload 15 /* childIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        35: .line 702
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 16 /* expPols */
        start local 16 // java.util.Set expPols
        36: .line 703
            aload 16 /* expPols */
            aload 13 /* curParExpPol */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        37: .line 705
            new sun.security.provider.certpath.PolicyNodeImpl
            dup
        38: .line 706
            aload 9 /* curParent */
            aload 13 /* curParExpPol */
            aload 5 /* pQuals */
        39: .line 707
            iload 1 /* policiesCritical */
            aload 16 /* expPols */
            iconst_0
        40: .line 705
            invokespecial sun.security.provider.certpath.PolicyNodeImpl.<init>:(Lsun/security/provider/certpath/PolicyNodeImpl;Ljava/lang/String;Ljava/util/Set;ZLjava/util/Set;Z)V
            pop
        end local 16 // java.util.Set expPols
        end local 15 // java.util.Iterator childIter
        end local 13 // java.lang.String curParExpPol
        41: .line 686
      StackMap locals: int int int sun.security.provider.certpath.PolicyNodeImpl java.lang.String java.util.Set int int java.util.Set sun.security.provider.certpath.PolicyNodeImpl java.util.Iterator java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        end local 12 // java.util.Set parExpPols
        42: .line 709
            goto 49
        43: .line 710
      StackMap locals: int int int sun.security.provider.certpath.PolicyNodeImpl java.lang.String java.util.Set int int java.util.Set sun.security.provider.certpath.PolicyNodeImpl java.util.Iterator java.util.Set
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 11 /* curExpPols */
        44: .line 711
            aload 11 /* curExpPols */
            aload 4 /* curPolicy */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        45: .line 713
            new sun.security.provider.certpath.PolicyNodeImpl
            dup
        46: .line 714
            aload 9 /* curParent */
            aload 4 /* curPolicy */
            aload 5 /* pQuals */
        47: .line 715
            iload 1 /* policiesCritical */
            aload 11 /* curExpPols */
            iconst_0
        48: .line 713
            invokespecial sun.security.provider.certpath.PolicyNodeImpl.<init>:(Lsun/security/provider/certpath/PolicyNodeImpl;Ljava/lang/String;Ljava/util/Set;ZLjava/util/Set;Z)V
            pop
        end local 11 // java.util.Set curExpPols
        end local 9 // sun.security.provider.certpath.PolicyNodeImpl curParent
        49: .line 671
      StackMap locals: int int int sun.security.provider.certpath.PolicyNodeImpl java.lang.String java.util.Set int int java.util.Set top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        50: .line 719
            iload 7 /* foundMatch */
            ireturn
        end local 8 // java.util.Set parentNodes
        end local 7 // boolean foundMatch
        end local 6 // boolean matchAny
        end local 5 // java.util.Set pQuals
        end local 4 // java.lang.String curPolicy
        end local 3 // sun.security.provider.certpath.PolicyNodeImpl rootNode
        end local 2 // boolean rejectPolicyQualifiers
        end local 1 // boolean policiesCritical
        end local 0 // int certIndex
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   51     0               certIndex  I
            0   51     1        policiesCritical  Z
            0   51     2  rejectPolicyQualifiers  Z
            0   51     3                rootNode  Lsun/security/provider/certpath/PolicyNodeImpl;
            0   51     4               curPolicy  Ljava/lang/String;
            0   51     5                  pQuals  Ljava/util/Set<Ljava/security/cert/PolicyQualifierInfo;>;
            0   51     6                matchAny  Z
            1   51     7              foundMatch  Z
            9   51     8             parentNodes  Ljava/util/Set<Lsun/security/provider/certpath/PolicyNodeImpl;>;
           11   49     9               curParent  Lsun/security/provider/certpath/PolicyNodeImpl;
           18   49    11              curExpPols  Ljava/util/Set<Ljava/lang/String;>;
           20   42    12              parExpPols  Ljava/util/Set<Ljava/lang/String;>;
           22   41    13            curParExpPol  Ljava/lang/String;
           24   41    15               childIter  Ljava/util/Iterator<Lsun/security/provider/certpath/PolicyNodeImpl;>;
           26   34    16               childNode  Lsun/security/provider/certpath/PolicyNodeImpl;
           27   34    17             childPolicy  Ljava/lang/String;
           36   41    16                 expPols  Ljava/util/Set<Ljava/lang/String;>;
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    Signature: (IZZLsun/security/provider/certpath/PolicyNodeImpl;Ljava/lang/String;Ljava/util/Set<Ljava/security/cert/PolicyQualifierInfo;>;Z)Z
    MethodParameters:
                        Name  Flags
      certIndex               
      policiesCritical        
      rejectPolicyQualifiers  
      rootNode                
      curPolicy               
      pQuals                  
      matchAny                

  private static sun.security.provider.certpath.PolicyNodeImpl processPolicyMappings(sun.security.x509.X509CertImpl, int, int, sun.security.provider.certpath.PolicyNodeImpl, boolean, java.util.Set<java.security.cert.PolicyQualifierInfo>);
    descriptor: (Lsun/security/x509/X509CertImpl;IILsun/security/provider/certpath/PolicyNodeImpl;ZLjava/util/Set;)Lsun/security/provider/certpath/PolicyNodeImpl;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=19, args_size=6
        start local 0 // sun.security.x509.X509CertImpl currCert
        start local 1 // int certIndex
        start local 2 // int policyMapping
        start local 3 // sun.security.provider.certpath.PolicyNodeImpl rootNode
        start local 4 // boolean policiesCritical
        start local 5 // java.util.Set anyQuals
         0: .line 744
            aload 0 /* currCert */
            invokevirtual sun.security.x509.X509CertImpl.getPolicyMappingsExtension:()Lsun/security/x509/PolicyMappingsExtension;
         1: .line 743
            astore 6 /* polMappingsExt */
        start local 6 // sun.security.x509.PolicyMappingsExtension polMappingsExt
         2: .line 746
            aload 6 /* polMappingsExt */
            ifnonnull 4
         3: .line 747
            aload 3 /* rootNode */
            areturn
         4: .line 749
      StackMap locals: sun.security.x509.PolicyMappingsExtension
      StackMap stack:
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 6
         5: .line 750
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ldc "PolicyChecker.processPolicyMappings() inside policyMapping check"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         6: .line 753
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* maps */
        start local 7 // java.util.List maps
         7: .line 755
            aload 6 /* polMappingsExt */
            ldc "map"
            invokevirtual sun.security.x509.PolicyMappingsExtension.get:(Ljava/lang/String;)Ljava/util/List;
            astore 7 /* maps */
         8: .line 756
            goto 16
      StackMap locals: sun.security.x509.X509CertImpl int int sun.security.provider.certpath.PolicyNodeImpl int java.util.Set sun.security.x509.PolicyMappingsExtension java.util.List
      StackMap stack: java.io.IOException
         9: astore 8 /* e */
        start local 8 // java.io.IOException e
        10: .line 757
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 13
        11: .line 758
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ldc "PolicyChecker.processPolicyMappings() mapping exception"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 760
            aload 8 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        13: .line 762
      StackMap locals: java.io.IOException
      StackMap stack:
            new java.security.cert.CertPathValidatorException
            dup
            ldc "Exception while checking mapping"
        14: .line 763
            aload 8 /* e */
        15: .line 762
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.io.IOException e
        16: .line 766
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* childDeleted */
        start local 8 // boolean childDeleted
        17: .line 767
            aload 7 /* maps */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 77
      StackMap locals: sun.security.x509.X509CertImpl int int sun.security.provider.certpath.PolicyNodeImpl int java.util.Set sun.security.x509.PolicyMappingsExtension java.util.List int top java.util.Iterator
      StackMap stack:
        18: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.CertificatePolicyMap
            astore 9 /* polMap */
        start local 9 // sun.security.x509.CertificatePolicyMap polMap
        19: .line 769
            aload 9 /* polMap */
            invokevirtual sun.security.x509.CertificatePolicyMap.getIssuerIdentifier:()Lsun/security/x509/CertificatePolicyId;
            invokevirtual sun.security.x509.CertificatePolicyId.getIdentifier:()Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
        20: .line 768
            astore 11 /* issuerDomain */
        start local 11 // java.lang.String issuerDomain
        21: .line 771
            aload 9 /* polMap */
            invokevirtual sun.security.x509.CertificatePolicyMap.getSubjectIdentifier:()Lsun/security/x509/CertificatePolicyId;
            invokevirtual sun.security.x509.CertificatePolicyId.getIdentifier:()Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
        22: .line 770
            astore 12 /* subjectDomain */
        start local 12 // java.lang.String subjectDomain
        23: .line 772
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 30
        24: .line 773
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.processPolicyMappings() issuerDomain = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        25: .line 774
            aload 11 /* issuerDomain */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 773
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        27: .line 775
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.processPolicyMappings() subjectDomain = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        28: .line 776
            aload 12 /* subjectDomain */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        29: .line 775
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        30: .line 779
      StackMap locals: sun.security.x509.X509CertImpl int int sun.security.provider.certpath.PolicyNodeImpl int java.util.Set sun.security.x509.PolicyMappingsExtension java.util.List int sun.security.x509.CertificatePolicyMap java.util.Iterator java.lang.String java.lang.String
      StackMap stack:
            aload 11 /* issuerDomain */
            getstatic sun.security.provider.certpath.PolicyChecker.ANY_POLICY:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 35
        31: .line 780
            new java.security.cert.CertPathValidatorException
            dup
        32: .line 781
            ldc "encountered an issuerDomainPolicy of ANY_POLICY"
        33: .line 782
            aconst_null
            aconst_null
            iconst_m1
            getstatic java.security.cert.PKIXReason.INVALID_POLICY:Ljava/security/cert/PKIXReason;
        34: .line 780
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V
            athrow
        35: .line 785
      StackMap locals:
      StackMap stack:
            aload 12 /* subjectDomain */
            getstatic sun.security.provider.certpath.PolicyChecker.ANY_POLICY:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 40
        36: .line 786
            new java.security.cert.CertPathValidatorException
            dup
        37: .line 787
            ldc "encountered a subjectDomainPolicy of ANY_POLICY"
        38: .line 788
            aconst_null
            aconst_null
            iconst_m1
            getstatic java.security.cert.PKIXReason.INVALID_POLICY:Ljava/security/cert/PKIXReason;
        39: .line 786
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V
            athrow
        40: .line 792
      StackMap locals:
      StackMap stack:
            aload 3 /* rootNode */
            iload 1 /* certIndex */
            aload 11 /* issuerDomain */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getPolicyNodesValid:(ILjava/lang/String;)Ljava/util/Set;
        41: .line 791
            astore 13 /* validNodes */
        start local 13 // java.util.Set validNodes
        42: .line 793
            aload 13 /* validNodes */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 63
        43: .line 794
            aload 13 /* validNodes */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 15
            goto 61
      StackMap locals: sun.security.x509.X509CertImpl int int sun.security.provider.certpath.PolicyNodeImpl int java.util.Set sun.security.x509.PolicyMappingsExtension java.util.List int sun.security.x509.CertificatePolicyMap java.util.Iterator java.lang.String java.lang.String java.util.Set top java.util.Iterator
      StackMap stack:
        44: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.certpath.PolicyNodeImpl
            astore 14 /* curNode */
        start local 14 // sun.security.provider.certpath.PolicyNodeImpl curNode
        45: .line 795
            iload 2 /* policyMapping */
            ifgt 46
            iload 2 /* policyMapping */
            iconst_m1
            if_icmpne 48
        46: .line 796
      StackMap locals: sun.security.x509.X509CertImpl int int sun.security.provider.certpath.PolicyNodeImpl int java.util.Set sun.security.x509.PolicyMappingsExtension java.util.List int sun.security.x509.CertificatePolicyMap java.util.Iterator java.lang.String java.lang.String java.util.Set sun.security.provider.certpath.PolicyNodeImpl java.util.Iterator
      StackMap stack:
            aload 14 /* curNode */
            aload 12 /* subjectDomain */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.addExpectedPolicy:(Ljava/lang/String;)V
        47: .line 797
            goto 61
      StackMap locals:
      StackMap stack:
        48: iload 2 /* policyMapping */
            ifne 61
        49: .line 799
            aload 14 /* curNode */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getParent:()Ljava/security/cert/PolicyNode;
            checkcast sun.security.provider.certpath.PolicyNodeImpl
        50: .line 798
            astore 16 /* parentNode */
        start local 16 // sun.security.provider.certpath.PolicyNodeImpl parentNode
        51: .line 800
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 55
        52: .line 801
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.processPolicyMappings() before deleting: policy tree = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        53: .line 803
            aload 3 /* rootNode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        54: .line 801
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        55: .line 804
      StackMap locals: sun.security.provider.certpath.PolicyNodeImpl
      StackMap stack:
            aload 16 /* parentNode */
            aload 14 /* curNode */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.deleteChild:(Ljava/security/cert/PolicyNode;)V
        56: .line 805
            iconst_1
            istore 8 /* childDeleted */
        57: .line 806
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 61
        58: .line 807
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.processPolicyMappings() after deleting: policy tree = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        59: .line 809
            aload 3 /* rootNode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        60: .line 807
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 16 // sun.security.provider.certpath.PolicyNodeImpl parentNode
        end local 14 // sun.security.provider.certpath.PolicyNodeImpl curNode
        61: .line 794
      StackMap locals: sun.security.x509.X509CertImpl int int sun.security.provider.certpath.PolicyNodeImpl int java.util.Set sun.security.x509.PolicyMappingsExtension java.util.List int sun.security.x509.CertificatePolicyMap java.util.Iterator java.lang.String java.lang.String java.util.Set top java.util.Iterator
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 44
        62: .line 812
            goto 77
        63: .line 813
      StackMap locals: sun.security.x509.X509CertImpl int int sun.security.provider.certpath.PolicyNodeImpl int java.util.Set sun.security.x509.PolicyMappingsExtension java.util.List int sun.security.x509.CertificatePolicyMap java.util.Iterator java.lang.String java.lang.String java.util.Set
      StackMap stack:
            iload 2 /* policyMapping */
            ifgt 64
            iload 2 /* policyMapping */
            iconst_m1
            if_icmpne 77
        64: .line 815
      StackMap locals:
      StackMap stack:
            aload 3 /* rootNode */
            iload 1 /* certIndex */
            getstatic sun.security.provider.certpath.PolicyChecker.ANY_POLICY:Ljava/lang/String;
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getPolicyNodesValid:(ILjava/lang/String;)Ljava/util/Set;
        65: .line 814
            astore 14 /* validAnyNodes */
        start local 14 // java.util.Set validAnyNodes
        66: .line 816
            aload 14 /* validAnyNodes */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 16
            goto 76
      StackMap locals: sun.security.x509.X509CertImpl int int sun.security.provider.certpath.PolicyNodeImpl int java.util.Set sun.security.x509.PolicyMappingsExtension java.util.List int sun.security.x509.CertificatePolicyMap java.util.Iterator java.lang.String java.lang.String java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        67: aload 16
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.certpath.PolicyNodeImpl
            astore 15 /* curAnyNode */
        start local 15 // sun.security.provider.certpath.PolicyNodeImpl curAnyNode
        68: .line 818
            aload 15 /* curAnyNode */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getParent:()Ljava/security/cert/PolicyNode;
            checkcast sun.security.provider.certpath.PolicyNodeImpl
        69: .line 817
            astore 17 /* curAnyNodeParent */
        start local 17 // sun.security.provider.certpath.PolicyNodeImpl curAnyNodeParent
        70: .line 820
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 18 /* expPols */
        start local 18 // java.util.Set expPols
        71: .line 821
            aload 18 /* expPols */
            aload 12 /* subjectDomain */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        72: .line 823
            new sun.security.provider.certpath.PolicyNodeImpl
        73: .line 824
            aload 17 /* curAnyNodeParent */
            aload 11 /* issuerDomain */
            aload 5 /* anyQuals */
        74: .line 825
            iload 4 /* policiesCritical */
            aload 18 /* expPols */
            iconst_1
        75: .line 823
            invokespecial sun.security.provider.certpath.PolicyNodeImpl.<init>:(Lsun/security/provider/certpath/PolicyNodeImpl;Ljava/lang/String;Ljava/util/Set;ZLjava/util/Set;Z)V
        end local 18 // java.util.Set expPols
        end local 17 // sun.security.provider.certpath.PolicyNodeImpl curAnyNodeParent
        end local 15 // sun.security.provider.certpath.PolicyNodeImpl curAnyNode
        76: .line 816
      StackMap locals:
      StackMap stack:
            aload 16
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 67
        end local 14 // java.util.Set validAnyNodes
        end local 13 // java.util.Set validNodes
        end local 12 // java.lang.String subjectDomain
        end local 11 // java.lang.String issuerDomain
        end local 9 // sun.security.x509.CertificatePolicyMap polMap
        77: .line 767
      StackMap locals: sun.security.x509.X509CertImpl int int sun.security.provider.certpath.PolicyNodeImpl int java.util.Set sun.security.x509.PolicyMappingsExtension java.util.List int top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        78: .line 831
            iload 8 /* childDeleted */
            ifeq 84
        79: .line 832
            aload 3 /* rootNode */
            iload 1 /* certIndex */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.prune:(I)V
        80: .line 833
            aload 3 /* rootNode */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getChildren:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 84
        81: .line 834
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 83
        82: .line 835
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ldc "setting rootNode to null"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        83: .line 836
      StackMap locals: sun.security.x509.X509CertImpl int int sun.security.provider.certpath.PolicyNodeImpl int java.util.Set sun.security.x509.PolicyMappingsExtension java.util.List int
      StackMap stack:
            aconst_null
            astore 3 /* rootNode */
        84: .line 840
      StackMap locals:
      StackMap stack:
            aload 3 /* rootNode */
            areturn
        end local 8 // boolean childDeleted
        end local 7 // java.util.List maps
        end local 6 // sun.security.x509.PolicyMappingsExtension polMappingsExt
        end local 5 // java.util.Set anyQuals
        end local 4 // boolean policiesCritical
        end local 3 // sun.security.provider.certpath.PolicyNodeImpl rootNode
        end local 2 // int policyMapping
        end local 1 // int certIndex
        end local 0 // sun.security.x509.X509CertImpl currCert
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   85     0          currCert  Lsun/security/x509/X509CertImpl;
            0   85     1         certIndex  I
            0   85     2     policyMapping  I
            0   85     3          rootNode  Lsun/security/provider/certpath/PolicyNodeImpl;
            0   85     4  policiesCritical  Z
            0   85     5          anyQuals  Ljava/util/Set<Ljava/security/cert/PolicyQualifierInfo;>;
            2   85     6    polMappingsExt  Lsun/security/x509/PolicyMappingsExtension;
            7   85     7              maps  Ljava/util/List<Lsun/security/x509/CertificatePolicyMap;>;
           10   16     8                 e  Ljava/io/IOException;
           17   85     8      childDeleted  Z
           19   77     9            polMap  Lsun/security/x509/CertificatePolicyMap;
           21   77    11      issuerDomain  Ljava/lang/String;
           23   77    12     subjectDomain  Ljava/lang/String;
           42   77    13        validNodes  Ljava/util/Set<Lsun/security/provider/certpath/PolicyNodeImpl;>;
           45   61    14           curNode  Lsun/security/provider/certpath/PolicyNodeImpl;
           51   61    16        parentNode  Lsun/security/provider/certpath/PolicyNodeImpl;
           66   77    14     validAnyNodes  Ljava/util/Set<Lsun/security/provider/certpath/PolicyNodeImpl;>;
           68   76    15        curAnyNode  Lsun/security/provider/certpath/PolicyNodeImpl;
           70   76    17  curAnyNodeParent  Lsun/security/provider/certpath/PolicyNodeImpl;
           71   76    18           expPols  Ljava/util/Set<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
           7     8       9  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    Signature: (Lsun/security/x509/X509CertImpl;IILsun/security/provider/certpath/PolicyNodeImpl;ZLjava/util/Set<Ljava/security/cert/PolicyQualifierInfo;>;)Lsun/security/provider/certpath/PolicyNodeImpl;
    MethodParameters:
                  Name  Flags
      currCert          
      certIndex         
      policyMapping     
      rootNode          
      policiesCritical  
      anyQuals          

  private static sun.security.provider.certpath.PolicyNodeImpl removeInvalidNodes(sun.security.provider.certpath.PolicyNodeImpl, int, java.util.Set<java.lang.String>, sun.security.x509.CertificatePoliciesExtension);
    descriptor: (Lsun/security/provider/certpath/PolicyNodeImpl;ILjava/util/Set;Lsun/security/x509/CertificatePoliciesExtension;)Lsun/security/provider/certpath/PolicyNodeImpl;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=13, args_size=4
        start local 0 // sun.security.provider.certpath.PolicyNodeImpl rootNode
        start local 1 // int certIndex
        start local 2 // java.util.Set initPolicies
        start local 3 // sun.security.x509.CertificatePoliciesExtension currCertPolicies
         0: .line 860
            aconst_null
            astore 4 /* policyInfo */
        start local 4 // java.util.List policyInfo
         1: .line 862
            aload 3 /* currCertPolicies */
            ldc "policies"
            invokevirtual sun.security.x509.CertificatePoliciesExtension.get:(Ljava/lang/String;)Ljava/util/List;
            astore 4 /* policyInfo */
         2: .line 863
            goto 7
      StackMap locals: sun.security.provider.certpath.PolicyNodeImpl int java.util.Set sun.security.x509.CertificatePoliciesExtension java.util.List
      StackMap stack: java.io.IOException
         3: astore 5 /* ioe */
        start local 5 // java.io.IOException ioe
         4: .line 864
            new java.security.cert.CertPathValidatorException
            dup
            ldc "Exception while retrieving policyOIDs"
         5: .line 865
            aload 5 /* ioe */
         6: .line 864
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.io.IOException ioe
         7: .line 868
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* childDeleted */
        start local 5 // boolean childDeleted
         8: .line 869
            aload 4 /* policyInfo */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 35
      StackMap locals: sun.security.provider.certpath.PolicyNodeImpl int java.util.Set sun.security.x509.CertificatePoliciesExtension java.util.List int top java.util.Iterator
      StackMap stack:
         9: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.PolicyInformation
            astore 6 /* curPolInfo */
        start local 6 // sun.security.x509.PolicyInformation curPolInfo
        10: .line 871
            aload 6 /* curPolInfo */
            invokevirtual sun.security.x509.PolicyInformation.getPolicyIdentifier:()Lsun/security/x509/CertificatePolicyId;
            invokevirtual sun.security.x509.CertificatePolicyId.getIdentifier:()Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
        11: .line 870
            astore 8 /* curPolicy */
        start local 8 // java.lang.String curPolicy
        12: .line 873
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 16
        13: .line 874
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.processPolicies() processing policy second time: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        14: .line 875
            aload 8 /* curPolicy */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 874
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        16: .line 878
      StackMap locals: sun.security.provider.certpath.PolicyNodeImpl int java.util.Set sun.security.x509.CertificatePoliciesExtension java.util.List int sun.security.x509.PolicyInformation java.util.Iterator java.lang.String
      StackMap stack:
            aload 0 /* rootNode */
            iload 1 /* certIndex */
            aload 8 /* curPolicy */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getPolicyNodesValid:(ILjava/lang/String;)Ljava/util/Set;
        17: .line 877
            astore 9 /* validNodes */
        start local 9 // java.util.Set validNodes
        18: .line 879
            aload 9 /* validNodes */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 11
            goto 34
      StackMap locals: sun.security.provider.certpath.PolicyNodeImpl int java.util.Set sun.security.x509.CertificatePoliciesExtension java.util.List int sun.security.x509.PolicyInformation java.util.Iterator java.lang.String java.util.Set top java.util.Iterator
      StackMap stack:
        19: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.certpath.PolicyNodeImpl
            astore 10 /* curNode */
        start local 10 // sun.security.provider.certpath.PolicyNodeImpl curNode
        20: .line 880
            aload 10 /* curNode */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getParent:()Ljava/security/cert/PolicyNode;
            checkcast sun.security.provider.certpath.PolicyNodeImpl
            astore 12 /* parentNode */
        start local 12 // sun.security.provider.certpath.PolicyNodeImpl parentNode
        21: .line 881
            aload 12 /* parentNode */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getValidPolicy:()Ljava/lang/String;
            getstatic sun.security.provider.certpath.PolicyChecker.ANY_POLICY:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 34
        22: .line 882
            aload 2 /* initPolicies */
            aload 8 /* curPolicy */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 34
        23: .line 883
            aload 8 /* curPolicy */
            getstatic sun.security.provider.certpath.PolicyChecker.ANY_POLICY:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 34
        24: .line 884
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 28
        25: .line 885
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.processPolicies() before deleting: policy tree = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        26: .line 886
            aload 0 /* rootNode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 885
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        28: .line 887
      StackMap locals: sun.security.provider.certpath.PolicyNodeImpl int java.util.Set sun.security.x509.CertificatePoliciesExtension java.util.List int sun.security.x509.PolicyInformation java.util.Iterator java.lang.String java.util.Set sun.security.provider.certpath.PolicyNodeImpl java.util.Iterator sun.security.provider.certpath.PolicyNodeImpl
      StackMap stack:
            aload 12 /* parentNode */
            aload 10 /* curNode */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.deleteChild:(Ljava/security/cert/PolicyNode;)V
        29: .line 888
            iconst_1
            istore 5 /* childDeleted */
        30: .line 889
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            ifnull 34
        31: .line 890
            getstatic sun.security.provider.certpath.PolicyChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PolicyChecker.processPolicies() after deleting: policy tree = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        32: .line 891
            aload 0 /* rootNode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        33: .line 890
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 12 // sun.security.provider.certpath.PolicyNodeImpl parentNode
        end local 10 // sun.security.provider.certpath.PolicyNodeImpl curNode
        34: .line 879
      StackMap locals: sun.security.provider.certpath.PolicyNodeImpl int java.util.Set sun.security.x509.CertificatePoliciesExtension java.util.List int sun.security.x509.PolicyInformation java.util.Iterator java.lang.String java.util.Set top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        end local 9 // java.util.Set validNodes
        end local 8 // java.lang.String curPolicy
        end local 6 // sun.security.x509.PolicyInformation curPolInfo
        35: .line 869
      StackMap locals: sun.security.provider.certpath.PolicyNodeImpl int java.util.Set sun.security.x509.CertificatePoliciesExtension java.util.List int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        36: .line 897
            iload 5 /* childDeleted */
            ifeq 40
        37: .line 898
            aload 0 /* rootNode */
            iload 1 /* certIndex */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.prune:(I)V
        38: .line 899
            aload 0 /* rootNode */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.getChildren:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 40
        39: .line 900
            aconst_null
            astore 0 /* rootNode */
        40: .line 904
      StackMap locals: sun.security.provider.certpath.PolicyNodeImpl int java.util.Set sun.security.x509.CertificatePoliciesExtension java.util.List int
      StackMap stack:
            aload 0 /* rootNode */
            areturn
        end local 5 // boolean childDeleted
        end local 4 // java.util.List policyInfo
        end local 3 // sun.security.x509.CertificatePoliciesExtension currCertPolicies
        end local 2 // java.util.Set initPolicies
        end local 1 // int certIndex
        end local 0 // sun.security.provider.certpath.PolicyNodeImpl rootNode
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   41     0          rootNode  Lsun/security/provider/certpath/PolicyNodeImpl;
            0   41     1         certIndex  I
            0   41     2      initPolicies  Ljava/util/Set<Ljava/lang/String;>;
            0   41     3  currCertPolicies  Lsun/security/x509/CertificatePoliciesExtension;
            1   41     4        policyInfo  Ljava/util/List<Lsun/security/x509/PolicyInformation;>;
            4    7     5               ioe  Ljava/io/IOException;
            8   41     5      childDeleted  Z
           10   35     6        curPolInfo  Lsun/security/x509/PolicyInformation;
           12   35     8         curPolicy  Ljava/lang/String;
           18   35     9        validNodes  Ljava/util/Set<Lsun/security/provider/certpath/PolicyNodeImpl;>;
           20   34    10           curNode  Lsun/security/provider/certpath/PolicyNodeImpl;
           21   34    12        parentNode  Lsun/security/provider/certpath/PolicyNodeImpl;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    Signature: (Lsun/security/provider/certpath/PolicyNodeImpl;ILjava/util/Set<Ljava/lang/String;>;Lsun/security/x509/CertificatePoliciesExtension;)Lsun/security/provider/certpath/PolicyNodeImpl;
    MethodParameters:
                  Name  Flags
      rootNode          
      certIndex         
      initPolicies      
      currCertPolicies  

  java.security.cert.PolicyNode getPolicyTree();
    descriptor: ()Ljava/security/cert/PolicyNode;
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // sun.security.provider.certpath.PolicyChecker this
         0: .line 916
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.rootNode:Lsun/security/provider/certpath/PolicyNodeImpl;
            ifnonnull 2
         1: .line 917
            aconst_null
            areturn
         2: .line 919
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.PolicyChecker.rootNode:Lsun/security/provider/certpath/PolicyNodeImpl;
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.copyTree:()Lsun/security/provider/certpath/PolicyNodeImpl;
            astore 1 /* policyTree */
        start local 1 // sun.security.provider.certpath.PolicyNodeImpl policyTree
         3: .line 920
            aload 1 /* policyTree */
            invokevirtual sun.security.provider.certpath.PolicyNodeImpl.setImmutable:()V
         4: .line 921
            aload 1 /* policyTree */
            areturn
        end local 1 // sun.security.provider.certpath.PolicyNodeImpl policyTree
        end local 0 // sun.security.provider.certpath.PolicyChecker this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lsun/security/provider/certpath/PolicyChecker;
            3    5     1  policyTree  Lsun/security/provider/certpath/PolicyNodeImpl;
}
SourceFile: "PolicyChecker.java"
InnerClasses:
  public abstract Reason = java.security.cert.CertPathValidatorException$Reason of java.security.cert.CertPathValidatorException