class sun.security.ssl.StatusResponseManager$OCSPFetchCall implements java.util.concurrent.Callable<sun.security.ssl.StatusResponseManager$StatusInfo>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.security.ssl.StatusResponseManager$OCSPFetchCall
  super_class: java.lang.Object
{
  sun.security.ssl.StatusResponseManager$StatusInfo statInfo;
    descriptor: Lsun/security/ssl/StatusResponseManager$StatusInfo;
    flags: (0x0000) 

  sun.security.ssl.OCSPStatusRequest ocspRequest;
    descriptor: Lsun/security/ssl/OCSPStatusRequest;
    flags: (0x0000) 

  java.util.List<java.security.cert.Extension> extensions;
    descriptor: Ljava/util/List;
    flags: (0x0000) 
    Signature: Ljava/util/List<Ljava/security/cert/Extension;>;

  java.util.List<sun.security.provider.certpath.ResponderId> responderIds;
    descriptor: Ljava/util/List;
    flags: (0x0000) 
    Signature: Ljava/util/List<Lsun/security/provider/certpath/ResponderId;>;

  final sun.security.ssl.StatusResponseManager this$0;
    descriptor: Lsun/security/ssl/StatusResponseManager;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(sun.security.ssl.StatusResponseManager, sun.security.ssl.StatusResponseManager$StatusInfo, sun.security.ssl.OCSPStatusRequest);
    descriptor: (Lsun/security/ssl/StatusResponseManager;Lsun/security/ssl/StatusResponseManager$StatusInfo;Lsun/security/ssl/OCSPStatusRequest;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // sun.security.ssl.StatusResponseManager$OCSPFetchCall this
        start local 2 // sun.security.ssl.StatusResponseManager$StatusInfo info
        start local 3 // sun.security.ssl.OCSPStatusRequest request
         0: .line 547
            aload 0 /* this */
            aload 1
            putfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.this$0:Lsun/security/ssl/StatusResponseManager;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 548
            aload 0 /* this */
            aload 2 /* info */
         2: .line 549
            ldc "Null StatusInfo not allowed"
         3: .line 548
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.ssl.StatusResponseManager$StatusInfo
            putfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.statInfo:Lsun/security/ssl/StatusResponseManager$StatusInfo;
         4: .line 550
            aload 0 /* this */
            aload 3 /* request */
         5: .line 551
            ldc "Null OCSPStatusRequest not allowed"
         6: .line 550
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.ssl.OCSPStatusRequest
            putfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.ocspRequest:Lsun/security/ssl/OCSPStatusRequest;
         7: .line 552
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.ocspRequest:Lsun/security/ssl/OCSPStatusRequest;
            invokevirtual sun.security.ssl.OCSPStatusRequest.getExtensions:()Ljava/util/List;
            putfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.extensions:Ljava/util/List;
         8: .line 553
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.ocspRequest:Lsun/security/ssl/OCSPStatusRequest;
            invokevirtual sun.security.ssl.OCSPStatusRequest.getResponderIds:()Ljava/util/List;
            putfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.responderIds:Ljava/util/List;
         9: .line 554
            return
        end local 3 // sun.security.ssl.OCSPStatusRequest request
        end local 2 // sun.security.ssl.StatusResponseManager$StatusInfo info
        end local 0 // sun.security.ssl.StatusResponseManager$OCSPFetchCall this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lsun/security/ssl/StatusResponseManager$OCSPFetchCall;
            0   10     2     info  Lsun/security/ssl/StatusResponseManager$StatusInfo;
            0   10     3  request  Lsun/security/ssl/OCSPStatusRequest;
    MethodParameters:
         Name  Flags
      this$0   final
      info     
      request  

  public sun.security.ssl.StatusResponseManager$StatusInfo call();
    descriptor: ()Lsun/security/ssl/StatusResponseManager$StatusInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // sun.security.ssl.StatusResponseManager$OCSPFetchCall this
         0: .line 565
            new java.lang.StringBuilder
            dup
            ldc "Starting fetch for SN "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.statInfo:Lsun/security/ssl/StatusResponseManager$StatusInfo;
            getfield sun.security.ssl.StatusResponseManager$StatusInfo.cid:Lsun/security/provider/certpath/CertId;
            invokevirtual sun.security.provider.certpath.CertId.getSerialNumber:()Ljava/math/BigInteger;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.security.ssl.StatusResponseManager.debugLog:(Ljava/lang/String;)V
         1: .line 570
            aload 0 /* this */
            getfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.statInfo:Lsun/security/ssl/StatusResponseManager$StatusInfo;
            getfield sun.security.ssl.StatusResponseManager$StatusInfo.responder:Ljava/net/URI;
            ifnonnull 5
         2: .line 572
            ldc "Null URI detected, OCSP fetch aborted."
            invokestatic sun.security.ssl.StatusResponseManager.debugLog:(Ljava/lang/String;)V
         3: .line 573
            aload 0 /* this */
            getfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.statInfo:Lsun/security/ssl/StatusResponseManager$StatusInfo;
         4: areturn
         5: .line 575
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Attempting fetch from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.statInfo:Lsun/security/ssl/StatusResponseManager$StatusInfo;
            getfield sun.security.ssl.StatusResponseManager$StatusInfo.responder:Ljava/net/URI;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.security.ssl.StatusResponseManager.debugLog:(Ljava/lang/String;)V
         6: .line 585
            aload 0 /* this */
            getfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.this$0:Lsun/security/ssl/StatusResponseManager;
            getfield sun.security.ssl.StatusResponseManager.ignoreExtensions:Z
            ifne 7
            aload 0 /* this */
            getfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.responderIds:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 8
         7: .line 586
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 0 /* this */
            getfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.extensions:Ljava/util/List;
         9: .line 585
      StackMap locals:
      StackMap stack: java.util.List
            astore 2 /* extsToSend */
        start local 2 // java.util.List extsToSend
        10: .line 589
            aload 0 /* this */
            getfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.statInfo:Lsun/security/ssl/StatusResponseManager$StatusInfo;
            getfield sun.security.ssl.StatusResponseManager$StatusInfo.cid:Lsun/security/provider/certpath/CertId;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
        11: .line 590
            aload 0 /* this */
            getfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.statInfo:Lsun/security/ssl/StatusResponseManager$StatusInfo;
            getfield sun.security.ssl.StatusResponseManager$StatusInfo.responder:Ljava/net/URI;
            aload 2 /* extsToSend */
        12: .line 588
            invokestatic sun.security.provider.certpath.OCSP.getOCSPBytes:(Ljava/util/List;Ljava/net/URI;Ljava/util/List;)[B
            astore 3 /* respBytes */
        start local 3 // byte[] respBytes
        13: .line 592
            aload 3 /* respBytes */
            ifnull 26
        14: .line 594
            new sun.security.ssl.StatusResponseManager$ResponseCacheEntry
            dup
            aload 3 /* respBytes */
        15: .line 595
            aload 0 /* this */
            getfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.statInfo:Lsun/security/ssl/StatusResponseManager$StatusInfo;
            getfield sun.security.ssl.StatusResponseManager$StatusInfo.cid:Lsun/security/provider/certpath/CertId;
        16: .line 594
            invokespecial sun.security.ssl.StatusResponseManager$ResponseCacheEntry.<init>:([BLsun/security/provider/certpath/CertId;)V
            astore 1 /* cacheEntry */
        start local 1 // sun.security.ssl.StatusResponseManager$ResponseCacheEntry cacheEntry
        17: .line 598
            new java.lang.StringBuilder
            dup
            ldc "OCSP Status: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cacheEntry */
            getfield sun.security.ssl.StatusResponseManager$ResponseCacheEntry.status:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        18: .line 599
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* respBytes */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bytes)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 598
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.security.ssl.StatusResponseManager.debugLog:(Ljava/lang/String;)V
        20: .line 600
            aload 1 /* cacheEntry */
            getfield sun.security.ssl.StatusResponseManager$ResponseCacheEntry.status:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
        21: .line 601
            getstatic sun.security.provider.certpath.OCSPResponse$ResponseStatus.SUCCESSFUL:Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
        22: .line 600
            if_acmpne 30
        23: .line 603
            aload 0 /* this */
            getfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.statInfo:Lsun/security/ssl/StatusResponseManager$StatusInfo;
            aload 1 /* cacheEntry */
            putfield sun.security.ssl.StatusResponseManager$StatusInfo.responseData:Lsun/security/ssl/StatusResponseManager$ResponseCacheEntry;
        24: .line 606
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.statInfo:Lsun/security/ssl/StatusResponseManager$StatusInfo;
            getfield sun.security.ssl.StatusResponseManager$StatusInfo.cid:Lsun/security/provider/certpath/CertId;
            aload 1 /* cacheEntry */
            invokevirtual sun.security.ssl.StatusResponseManager$OCSPFetchCall.addToCache:(Lsun/security/provider/certpath/CertId;Lsun/security/ssl/StatusResponseManager$ResponseCacheEntry;)V
        25: .line 608
            goto 30
        end local 1 // sun.security.ssl.StatusResponseManager$ResponseCacheEntry cacheEntry
        26: .line 609
      StackMap locals: sun.security.ssl.StatusResponseManager$OCSPFetchCall top java.util.List byte[]
      StackMap stack:
            ldc "No data returned from OCSP Responder"
            invokestatic sun.security.ssl.StatusResponseManager.debugLog:(Ljava/lang/String;)V
        end local 3 // byte[] respBytes
        end local 2 // java.util.List extsToSend
        27: .line 611
            goto 30
      StackMap locals: sun.security.ssl.StatusResponseManager$OCSPFetchCall
      StackMap stack: java.io.IOException
        28: astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
        29: .line 612
            new java.lang.StringBuilder
            dup
            ldc "Caught exception: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ioe */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.security.ssl.StatusResponseManager.debugLog:(Ljava/lang/String;)V
        end local 1 // java.io.IOException ioe
        30: .line 615
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.statInfo:Lsun/security/ssl/StatusResponseManager$StatusInfo;
            areturn
        end local 0 // sun.security.ssl.StatusResponseManager$OCSPFetchCall this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   31     0        this  Lsun/security/ssl/StatusResponseManager$OCSPFetchCall;
           17   26     1  cacheEntry  Lsun/security/ssl/StatusResponseManager$ResponseCacheEntry;
           10   27     2  extsToSend  Ljava/util/List<Ljava/security/cert/Extension;>;
           13   27     3   respBytes  [B
           29   30     1         ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     4      28  Class java.io.IOException
           5    27      28  Class java.io.IOException

  private void addToCache(sun.security.provider.certpath.CertId, sun.security.ssl.StatusResponseManager$ResponseCacheEntry);
    descriptor: (Lsun/security/provider/certpath/CertId;Lsun/security/ssl/StatusResponseManager$ResponseCacheEntry;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.security.ssl.StatusResponseManager$OCSPFetchCall this
        start local 1 // sun.security.provider.certpath.CertId certId
        start local 2 // sun.security.ssl.StatusResponseManager$ResponseCacheEntry entry
         0: .line 628
            aload 2 /* entry */
            getfield sun.security.ssl.StatusResponseManager$ResponseCacheEntry.nextUpdate:Ljava/util/Date;
            ifnonnull 3
            aload 0 /* this */
            getfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.this$0:Lsun/security/ssl/StatusResponseManager;
            getfield sun.security.ssl.StatusResponseManager.cacheLifetime:I
            ifne 3
         1: .line 629
            ldc "Not caching this OCSP response"
            invokestatic sun.security.ssl.StatusResponseManager.debugLog:(Ljava/lang/String;)V
         2: .line 630
            goto 7
         3: .line 631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.this$0:Lsun/security/ssl/StatusResponseManager;
            getfield sun.security.ssl.StatusResponseManager.responseCache:Lsun/security/util/Cache;
            aload 1 /* certId */
            aload 2 /* entry */
            invokevirtual sun.security.util.Cache.put:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 632
            new java.lang.StringBuilder
            dup
            ldc "Added response for SN "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* certId */
            invokevirtual sun.security.provider.certpath.CertId.getSerialNumber:()Ljava/math/BigInteger;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         5: .line 633
            ldc " to cache"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 632
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.security.ssl.StatusResponseManager.debugLog:(Ljava/lang/String;)V
         7: .line 635
      StackMap locals:
      StackMap stack:
            return
        end local 2 // sun.security.ssl.StatusResponseManager$ResponseCacheEntry entry
        end local 1 // sun.security.provider.certpath.CertId certId
        end local 0 // sun.security.ssl.StatusResponseManager$OCSPFetchCall this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lsun/security/ssl/StatusResponseManager$OCSPFetchCall;
            0    8     1  certId  Lsun/security/provider/certpath/CertId;
            0    8     2   entry  Lsun/security/ssl/StatusResponseManager$ResponseCacheEntry;
    MethodParameters:
        Name  Flags
      certId  
      entry   

  private long getNextTaskDelay(java.util.Date);
    descriptor: (Ljava/util/Date;)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // sun.security.ssl.StatusResponseManager$OCSPFetchCall this
        start local 1 // java.util.Date nextUpdate
         0: .line 656
            aload 0 /* this */
            getfield sun.security.ssl.StatusResponseManager$OCSPFetchCall.this$0:Lsun/security/ssl/StatusResponseManager;
            invokevirtual sun.security.ssl.StatusResponseManager.getCacheLifetime:()I
            istore 4 /* lifetime */
        start local 4 // int lifetime
         1: .line 658
            aload 1 /* nextUpdate */
            ifnull 11
         2: .line 659
            aload 1 /* nextUpdate */
            invokevirtual java.util.Date.getTime:()J
         3: .line 660
            invokestatic java.lang.System.currentTimeMillis:()J
         4: .line 659
            lsub
         5: .line 660
            ldc 1000
         6: .line 659
            ldiv
            lstore 5 /* nuDiffSec */
        start local 5 // long nuDiffSec
         7: .line 661
            iload 4 /* lifetime */
            ifle 8
            lload 5 /* nuDiffSec */
            iload 4 /* lifetime */
            i2l
            invokestatic java.lang.Long.min:(JJ)J
            goto 9
         8: .line 662
      StackMap locals: sun.security.ssl.StatusResponseManager$OCSPFetchCall java.util.Date top top int long
      StackMap stack:
            lload 5 /* nuDiffSec */
         9: .line 661
      StackMap locals:
      StackMap stack: long
            lstore 2 /* delaySec */
        end local 5 // long nuDiffSec
        start local 2 // long delaySec
        10: .line 663
            goto 14
        end local 2 // long delaySec
        11: .line 664
      StackMap locals:
      StackMap stack:
            iload 4 /* lifetime */
            ifle 12
            iload 4 /* lifetime */
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_m1
      StackMap locals:
      StackMap stack: int
        13: i2l
            lstore 2 /* delaySec */
        start local 2 // long delaySec
        14: .line 667
      StackMap locals: sun.security.ssl.StatusResponseManager$OCSPFetchCall java.util.Date long int
      StackMap stack:
            lload 2 /* delaySec */
            lreturn
        end local 4 // int lifetime
        end local 2 // long delaySec
        end local 1 // java.util.Date nextUpdate
        end local 0 // sun.security.ssl.StatusResponseManager$OCSPFetchCall this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lsun/security/ssl/StatusResponseManager$OCSPFetchCall;
            0   15     1  nextUpdate  Ljava/util/Date;
           10   11     2    delaySec  J
           14   15     2    delaySec  J
            1   15     4    lifetime  I
            7   10     5   nuDiffSec  J
    MethodParameters:
            Name  Flags
      nextUpdate  

  public java.lang.Object call();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual sun.security.ssl.StatusResponseManager$OCSPFetchCall.call:()Lsun/security/ssl/StatusResponseManager$StatusInfo;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception
}
Signature: Ljava/lang/Object;Ljava/util/concurrent/Callable<Lsun/security/ssl/StatusResponseManager$StatusInfo;>;
SourceFile: "StatusResponseManager.java"
NestHost: sun.security.ssl.StatusResponseManager
InnerClasses:
  public final ResponseStatus = sun.security.provider.certpath.OCSPResponse$ResponseStatus of sun.security.provider.certpath.OCSPResponse
  OCSPFetchCall = sun.security.ssl.StatusResponseManager$OCSPFetchCall of sun.security.ssl.StatusResponseManager
  ResponseCacheEntry = sun.security.ssl.StatusResponseManager$ResponseCacheEntry of sun.security.ssl.StatusResponseManager
  StatusInfo = sun.security.ssl.StatusResponseManager$StatusInfo of sun.security.ssl.StatusResponseManager