class sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator implements java.util.Comparator<java.security.cert.X509Certificate>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator
  super_class: java.lang.Object
{
  static final java.lang.String METHOD_NME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "PKIXCertComparator.compare()"

  private final java.util.Set<javax.security.auth.x500.X500Principal> trustedSubjectDNs;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljavax/security/auth/x500/X500Principal;>;

  void <init>(java.util.Set<javax.security.auth.x500.X500Principal>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator this
        start local 1 // java.util.Set trustedSubjectDNs
         0: .line 434
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 435
            aload 0 /* this */
            aload 1 /* trustedSubjectDNs */
            putfield sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator.trustedSubjectDNs:Ljava/util/Set;
         2: .line 436
            return
        end local 1 // java.util.Set trustedSubjectDNs
        end local 0 // sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lsun/security/provider/certpath/ForwardBuilder$PKIXCertComparator;
            0    3     1  trustedSubjectDNs  Ljava/util/Set<Ljavax/security/auth/x500/X500Principal;>;
    Signature: (Ljava/util/Set<Ljavax/security/auth/x500/X500Principal;>;)V
    MethodParameters:
                   Name  Flags
      trustedSubjectDNs  

  public int compare(java.security.cert.X509Certificate, java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=16, args_size=3
        start local 0 // sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator this
        start local 1 // java.security.cert.X509Certificate oCert1
        start local 2 // java.security.cert.X509Certificate oCert2
         0: .line 457
            aload 1 /* oCert1 */
            aload 2 /* oCert2 */
            invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_0
            ireturn
         1: .line 459
      StackMap locals:
      StackMap stack:
            aload 1 /* oCert1 */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            astore 3 /* cIssuer1 */
        start local 3 // javax.security.auth.x500.X500Principal cIssuer1
         2: .line 460
            aload 2 /* oCert2 */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            astore 4 /* cIssuer2 */
        start local 4 // javax.security.auth.x500.X500Principal cIssuer2
         3: .line 461
            aload 3 /* cIssuer1 */
            invokestatic sun.security.x509.X500Name.asX500Name:(Ljavax/security/auth/x500/X500Principal;)Lsun/security/x509/X500Name;
            astore 5 /* cIssuer1Name */
        start local 5 // sun.security.x509.X500Name cIssuer1Name
         4: .line 462
            aload 4 /* cIssuer2 */
            invokestatic sun.security.x509.X500Name.asX500Name:(Ljavax/security/auth/x500/X500Principal;)Lsun/security/x509/X500Name;
            astore 6 /* cIssuer2Name */
        start local 6 // sun.security.x509.X500Name cIssuer2Name
         5: .line 464
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ifnull 8
         6: .line 465
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PKIXCertComparator.compare() o1 Issuer:  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* cIssuer1 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         7: .line 466
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PKIXCertComparator.compare() o2 Issuer:  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* cIssuer2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         8: .line 472
      StackMap locals: sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal sun.security.x509.X500Name sun.security.x509.X500Name
      StackMap stack:
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ifnull 10
         9: .line 473
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ldc "PKIXCertComparator.compare() MATCH TRUSTED SUBJECT TEST..."
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        10: .line 476
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator.trustedSubjectDNs:Ljava/util/Set;
            aload 3 /* cIssuer1 */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            istore 7 /* m1 */
        start local 7 // boolean m1
        11: .line 477
            aload 0 /* this */
            getfield sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator.trustedSubjectDNs:Ljava/util/Set;
            aload 4 /* cIssuer2 */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            istore 8 /* m2 */
        start local 8 // boolean m2
        12: .line 478
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ifnull 15
        13: .line 479
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PKIXCertComparator.compare() m1: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* m1 */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        14: .line 480
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PKIXCertComparator.compare() m2: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 8 /* m2 */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        15: .line 482
      StackMap locals: int int
      StackMap stack:
            iload 7 /* m1 */
            ifeq 17
            iload 8 /* m2 */
            ifeq 17
        16: .line 483
            iconst_m1
            ireturn
        17: .line 484
      StackMap locals:
      StackMap stack:
            iload 7 /* m1 */
            ifeq 19
        18: .line 485
            iconst_m1
            ireturn
        19: .line 486
      StackMap locals:
      StackMap stack:
            iload 8 /* m2 */
            ifeq 21
        20: .line 487
            iconst_1
            ireturn
        21: .line 493
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ifnull 23
        22: .line 494
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ldc "PKIXCertComparator.compare() NAMING DESCENDANT TEST..."
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        23: .line 496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator.trustedSubjectDNs:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 43
      StackMap locals: sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal sun.security.x509.X500Name sun.security.x509.X500Name int int top java.util.Iterator
      StackMap stack:
        24: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.security.auth.x500.X500Principal
            astore 9 /* tSubject */
        start local 9 // javax.security.auth.x500.X500Principal tSubject
        25: .line 497
            aload 9 /* tSubject */
            invokestatic sun.security.x509.X500Name.asX500Name:(Ljavax/security/auth/x500/X500Principal;)Lsun/security/x509/X500Name;
            astore 11 /* tSubjectName */
        start local 11 // sun.security.x509.X500Name tSubjectName
        26: .line 499
            aload 11 /* tSubjectName */
            aload 5 /* cIssuer1Name */
            iconst_m1
            invokestatic sun.security.provider.certpath.Builder.distance:(Lsun/security/x509/GeneralNameInterface;Lsun/security/x509/GeneralNameInterface;I)I
        27: .line 498
            istore 12 /* distanceTto1 */
        start local 12 // int distanceTto1
        28: .line 501
            aload 11 /* tSubjectName */
            aload 6 /* cIssuer2Name */
            iconst_m1
            invokestatic sun.security.provider.certpath.Builder.distance:(Lsun/security/x509/GeneralNameInterface;Lsun/security/x509/GeneralNameInterface;I)I
        29: .line 500
            istore 13 /* distanceTto2 */
        start local 13 // int distanceTto2
        30: .line 502
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ifnull 33
        31: .line 503
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PKIXCertComparator.compare() distanceTto1: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 12 /* distanceTto1 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        32: .line 504
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PKIXCertComparator.compare() distanceTto2: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 13 /* distanceTto2 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        33: .line 506
      StackMap locals: sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal sun.security.x509.X500Name sun.security.x509.X500Name int int javax.security.auth.x500.X500Principal java.util.Iterator sun.security.x509.X500Name int int
      StackMap stack:
            iload 12 /* distanceTto1 */
            ifgt 34
            iload 13 /* distanceTto2 */
            ifle 43
        34: .line 507
      StackMap locals:
      StackMap stack:
            iload 12 /* distanceTto1 */
            iload 13 /* distanceTto2 */
            if_icmpne 36
        35: .line 508
            iconst_m1
            ireturn
        36: .line 509
      StackMap locals:
      StackMap stack:
            iload 12 /* distanceTto1 */
            ifle 38
            iload 13 /* distanceTto2 */
            ifgt 38
        37: .line 510
            iconst_m1
            ireturn
        38: .line 511
      StackMap locals:
      StackMap stack:
            iload 12 /* distanceTto1 */
            ifgt 40
            iload 13 /* distanceTto2 */
            ifle 40
        39: .line 512
            iconst_1
            ireturn
        40: .line 513
      StackMap locals:
      StackMap stack:
            iload 12 /* distanceTto1 */
            iload 13 /* distanceTto2 */
            if_icmpge 42
        41: .line 514
            iconst_m1
            ireturn
        42: .line 516
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 13 // int distanceTto2
        end local 12 // int distanceTto1
        end local 11 // sun.security.x509.X500Name tSubjectName
        end local 9 // javax.security.auth.x500.X500Principal tSubject
        43: .line 496
      StackMap locals: sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal sun.security.x509.X500Name sun.security.x509.X500Name int int top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        44: .line 524
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ifnull 46
        45: .line 525
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ldc "PKIXCertComparator.compare() NAMING ANCESTOR TEST..."
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        46: .line 527
      StackMap locals: sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal sun.security.x509.X500Name sun.security.x509.X500Name int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator.trustedSubjectDNs:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 66
      StackMap locals: sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal sun.security.x509.X500Name sun.security.x509.X500Name int int top java.util.Iterator
      StackMap stack:
        47: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.security.auth.x500.X500Principal
            astore 9 /* tSubject */
        start local 9 // javax.security.auth.x500.X500Principal tSubject
        48: .line 528
            aload 9 /* tSubject */
            invokestatic sun.security.x509.X500Name.asX500Name:(Ljavax/security/auth/x500/X500Principal;)Lsun/security/x509/X500Name;
            astore 11 /* tSubjectName */
        start local 11 // sun.security.x509.X500Name tSubjectName
        49: .line 531
            aload 11 /* tSubjectName */
            aload 5 /* cIssuer1Name */
            ldc 2147483647
        50: .line 530
            invokestatic sun.security.provider.certpath.Builder.distance:(Lsun/security/x509/GeneralNameInterface;Lsun/security/x509/GeneralNameInterface;I)I
            istore 12 /* distanceTto1 */
        start local 12 // int distanceTto1
        51: .line 533
            aload 11 /* tSubjectName */
            aload 6 /* cIssuer2Name */
            ldc 2147483647
        52: .line 532
            invokestatic sun.security.provider.certpath.Builder.distance:(Lsun/security/x509/GeneralNameInterface;Lsun/security/x509/GeneralNameInterface;I)I
            istore 13 /* distanceTto2 */
        start local 13 // int distanceTto2
        53: .line 534
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ifnull 56
        54: .line 535
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PKIXCertComparator.compare() distanceTto1: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 12 /* distanceTto1 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        55: .line 536
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PKIXCertComparator.compare() distanceTto2: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 13 /* distanceTto2 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        56: .line 538
      StackMap locals: sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal sun.security.x509.X500Name sun.security.x509.X500Name int int javax.security.auth.x500.X500Principal java.util.Iterator sun.security.x509.X500Name int int
      StackMap stack:
            iload 12 /* distanceTto1 */
            iflt 57
            iload 13 /* distanceTto2 */
            ifge 66
        57: .line 539
      StackMap locals:
      StackMap stack:
            iload 12 /* distanceTto1 */
            iload 13 /* distanceTto2 */
            if_icmpne 59
        58: .line 540
            iconst_m1
            ireturn
        59: .line 541
      StackMap locals:
      StackMap stack:
            iload 12 /* distanceTto1 */
            ifge 61
            iload 13 /* distanceTto2 */
            iflt 61
        60: .line 542
            iconst_m1
            ireturn
        61: .line 543
      StackMap locals:
      StackMap stack:
            iload 12 /* distanceTto1 */
            iflt 63
            iload 13 /* distanceTto2 */
            ifge 63
        62: .line 544
            iconst_1
            ireturn
        63: .line 545
      StackMap locals:
      StackMap stack:
            iload 12 /* distanceTto1 */
            iload 13 /* distanceTto2 */
            if_icmple 65
        64: .line 546
            iconst_m1
            ireturn
        65: .line 548
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 13 // int distanceTto2
        end local 12 // int distanceTto1
        end local 11 // sun.security.x509.X500Name tSubjectName
        end local 9 // javax.security.auth.x500.X500Principal tSubject
        66: .line 527
      StackMap locals: sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal sun.security.x509.X500Name sun.security.x509.X500Name int int top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 47
        67: .line 557
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ifnull 69
        68: .line 558
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ldc "PKIXCertComparator.compare() SAME NAMESPACE AS TRUSTED TEST..."
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        69: .line 560
      StackMap locals: sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal sun.security.x509.X500Name sun.security.x509.X500Name int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator.trustedSubjectDNs:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 93
      StackMap locals: sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal sun.security.x509.X500Name sun.security.x509.X500Name int int top java.util.Iterator
      StackMap stack:
        70: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.security.auth.x500.X500Principal
            astore 9 /* tSubject */
        start local 9 // javax.security.auth.x500.X500Principal tSubject
        71: .line 561
            aload 9 /* tSubject */
            invokestatic sun.security.x509.X500Name.asX500Name:(Ljavax/security/auth/x500/X500Principal;)Lsun/security/x509/X500Name;
            astore 11 /* tSubjectName */
        start local 11 // sun.security.x509.X500Name tSubjectName
        72: .line 562
            aload 11 /* tSubjectName */
            aload 5 /* cIssuer1Name */
            invokevirtual sun.security.x509.X500Name.commonAncestor:(Lsun/security/x509/X500Name;)Lsun/security/x509/X500Name;
            astore 12 /* tAo1 */
        start local 12 // sun.security.x509.X500Name tAo1
        73: .line 563
            aload 11 /* tSubjectName */
            aload 6 /* cIssuer2Name */
            invokevirtual sun.security.x509.X500Name.commonAncestor:(Lsun/security/x509/X500Name;)Lsun/security/x509/X500Name;
            astore 13 /* tAo2 */
        start local 13 // sun.security.x509.X500Name tAo2
        74: .line 564
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ifnull 77
        75: .line 565
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PKIXCertComparator.compare() tAo1: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* tAo1 */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            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
        76: .line 566
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PKIXCertComparator.compare() tAo2: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* tAo2 */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            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
        77: .line 568
      StackMap locals: sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal sun.security.x509.X500Name sun.security.x509.X500Name int int javax.security.auth.x500.X500Principal java.util.Iterator sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.X500Name
      StackMap stack:
            aload 12 /* tAo1 */
            ifnonnull 78
            aload 13 /* tAo2 */
            ifnull 93
        78: .line 569
      StackMap locals:
      StackMap stack:
            aload 12 /* tAo1 */
            ifnull 90
            aload 13 /* tAo2 */
            ifnull 90
        79: .line 571
            aload 11 /* tSubjectName */
            aload 5 /* cIssuer1Name */
            ldc 2147483647
        80: .line 570
            invokestatic sun.security.provider.certpath.Builder.hops:(Lsun/security/x509/GeneralNameInterface;Lsun/security/x509/GeneralNameInterface;I)I
            istore 14 /* hopsTto1 */
        start local 14 // int hopsTto1
        81: .line 573
            aload 11 /* tSubjectName */
            aload 6 /* cIssuer2Name */
            ldc 2147483647
        82: .line 572
            invokestatic sun.security.provider.certpath.Builder.hops:(Lsun/security/x509/GeneralNameInterface;Lsun/security/x509/GeneralNameInterface;I)I
            istore 15 /* hopsTto2 */
        start local 15 // int hopsTto2
        83: .line 574
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ifnull 86
        84: .line 575
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PKIXCertComparator.compare() hopsTto1: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 14 /* hopsTto1 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        85: .line 576
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PKIXCertComparator.compare() hopsTto2: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 15 /* hopsTto2 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        86: .line 578
      StackMap locals: int int
      StackMap stack:
            iload 14 /* hopsTto1 */
            iload 15 /* hopsTto2 */
            if_icmpeq 93
        87: .line 579
            iload 14 /* hopsTto1 */
            iload 15 /* hopsTto2 */
            if_icmple 89
        88: .line 580
            iconst_1
            ireturn
        89: .line 582
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 15 // int hopsTto2
        end local 14 // int hopsTto1
        90: .line 584
      StackMap locals:
      StackMap stack:
            aload 12 /* tAo1 */
            ifnonnull 92
        91: .line 585
            iconst_1
            ireturn
        92: .line 587
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 13 // sun.security.x509.X500Name tAo2
        end local 12 // sun.security.x509.X500Name tAo1
        end local 11 // sun.security.x509.X500Name tSubjectName
        end local 9 // javax.security.auth.x500.X500Principal tSubject
        93: .line 560
      StackMap locals: sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal sun.security.x509.X500Name sun.security.x509.X500Name int int top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 70
        94: .line 596
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ifnull 96
        95: .line 597
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ldc "PKIXCertComparator.compare() CERT ISSUER/SUBJECT COMPARISON TEST..."
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        96: .line 599
      StackMap locals: sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal sun.security.x509.X500Name sun.security.x509.X500Name int int
      StackMap stack:
            aload 1 /* oCert1 */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            astore 9 /* cSubject1 */
        start local 9 // javax.security.auth.x500.X500Principal cSubject1
        97: .line 600
            aload 2 /* oCert2 */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            astore 10 /* cSubject2 */
        start local 10 // javax.security.auth.x500.X500Principal cSubject2
        98: .line 601
            aload 9 /* cSubject1 */
            invokestatic sun.security.x509.X500Name.asX500Name:(Ljavax/security/auth/x500/X500Principal;)Lsun/security/x509/X500Name;
            astore 11 /* cSubject1Name */
        start local 11 // sun.security.x509.X500Name cSubject1Name
        99: .line 602
            aload 10 /* cSubject2 */
            invokestatic sun.security.x509.X500Name.asX500Name:(Ljavax/security/auth/x500/X500Principal;)Lsun/security/x509/X500Name;
            astore 12 /* cSubject2Name */
        start local 12 // sun.security.x509.X500Name cSubject2Name
       100: .line 604
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ifnull 103
       101: .line 605
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PKIXCertComparator.compare() o1 Subject: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* cSubject1 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       102: .line 606
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PKIXCertComparator.compare() o2 Subject: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* cSubject2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       103: .line 609
      StackMap locals: sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal sun.security.x509.X500Name sun.security.x509.X500Name int int javax.security.auth.x500.X500Principal javax.security.auth.x500.X500Principal sun.security.x509.X500Name sun.security.x509.X500Name
      StackMap stack:
            aload 11 /* cSubject1Name */
            aload 5 /* cIssuer1Name */
            ldc 2147483647
       104: .line 608
            invokestatic sun.security.provider.certpath.Builder.distance:(Lsun/security/x509/GeneralNameInterface;Lsun/security/x509/GeneralNameInterface;I)I
            istore 13 /* distanceStoI1 */
        start local 13 // int distanceStoI1
       105: .line 611
            aload 12 /* cSubject2Name */
            aload 6 /* cIssuer2Name */
            ldc 2147483647
       106: .line 610
            invokestatic sun.security.provider.certpath.Builder.distance:(Lsun/security/x509/GeneralNameInterface;Lsun/security/x509/GeneralNameInterface;I)I
            istore 14 /* distanceStoI2 */
        start local 14 // int distanceStoI2
       107: .line 612
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ifnull 110
       108: .line 613
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PKIXCertComparator.compare() distanceStoI1: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 13 /* distanceStoI1 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       109: .line 614
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PKIXCertComparator.compare() distanceStoI2: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 14 /* distanceStoI2 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       110: .line 616
      StackMap locals: int int
      StackMap stack:
            iload 14 /* distanceStoI2 */
            iload 13 /* distanceStoI1 */
            if_icmple 112
       111: .line 617
            iconst_m1
            ireturn
       112: .line 618
      StackMap locals:
      StackMap stack:
            iload 14 /* distanceStoI2 */
            iload 13 /* distanceStoI1 */
            if_icmpge 114
       113: .line 619
            iconst_1
            ireturn
       114: .line 624
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ifnull 116
       115: .line 625
            getstatic sun.security.provider.certpath.ForwardBuilder.debug:Lsun/security/util/Debug;
            ldc "PKIXCertComparator.compare() no tests matched; RETURN 0"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       116: .line 627
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 14 // int distanceStoI2
        end local 13 // int distanceStoI1
        end local 12 // sun.security.x509.X500Name cSubject2Name
        end local 11 // sun.security.x509.X500Name cSubject1Name
        end local 10 // javax.security.auth.x500.X500Principal cSubject2
        end local 9 // javax.security.auth.x500.X500Principal cSubject1
        end local 8 // boolean m2
        end local 7 // boolean m1
        end local 6 // sun.security.x509.X500Name cIssuer2Name
        end local 5 // sun.security.x509.X500Name cIssuer1Name
        end local 4 // javax.security.auth.x500.X500Principal cIssuer2
        end local 3 // javax.security.auth.x500.X500Principal cIssuer1
        end local 2 // java.security.cert.X509Certificate oCert2
        end local 1 // java.security.cert.X509Certificate oCert1
        end local 0 // sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  117     0           this  Lsun/security/provider/certpath/ForwardBuilder$PKIXCertComparator;
            0  117     1         oCert1  Ljava/security/cert/X509Certificate;
            0  117     2         oCert2  Ljava/security/cert/X509Certificate;
            2  117     3       cIssuer1  Ljavax/security/auth/x500/X500Principal;
            3  117     4       cIssuer2  Ljavax/security/auth/x500/X500Principal;
            4  117     5   cIssuer1Name  Lsun/security/x509/X500Name;
            5  117     6   cIssuer2Name  Lsun/security/x509/X500Name;
           11  117     7             m1  Z
           12  117     8             m2  Z
           25   43     9       tSubject  Ljavax/security/auth/x500/X500Principal;
           26   43    11   tSubjectName  Lsun/security/x509/X500Name;
           28   43    12   distanceTto1  I
           30   43    13   distanceTto2  I
           48   66     9       tSubject  Ljavax/security/auth/x500/X500Principal;
           49   66    11   tSubjectName  Lsun/security/x509/X500Name;
           51   66    12   distanceTto1  I
           53   66    13   distanceTto2  I
           71   93     9       tSubject  Ljavax/security/auth/x500/X500Principal;
           72   93    11   tSubjectName  Lsun/security/x509/X500Name;
           73   93    12           tAo1  Lsun/security/x509/X500Name;
           74   93    13           tAo2  Lsun/security/x509/X500Name;
           81   90    14       hopsTto1  I
           83   90    15       hopsTto2  I
           97  117     9      cSubject1  Ljavax/security/auth/x500/X500Principal;
           98  117    10      cSubject2  Ljavax/security/auth/x500/X500Principal;
           99  117    11  cSubject1Name  Lsun/security/x509/X500Name;
          100  117    12  cSubject2Name  Lsun/security/x509/X500Name;
          105  117    13  distanceStoI1  I
          107  117    14  distanceStoI2  I
    MethodParameters:
        Name  Flags
      oCert1  
      oCert2  

  public int compare(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast java.security.cert.X509Certificate
            aload 2
            checkcast java.security.cert.X509Certificate
            invokevirtual sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator.compare:(Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Ljava/util/Comparator<Ljava/security/cert/X509Certificate;>;
SourceFile: "ForwardBuilder.java"
NestHost: sun.security.provider.certpath.ForwardBuilder
InnerClasses:
  PKIXCertComparator = sun.security.provider.certpath.ForwardBuilder$PKIXCertComparator of sun.security.provider.certpath.ForwardBuilder