public class org.apache.http.impl.client.DefaultHttpRequestRetryHandler implements org.apache.http.client.HttpRequestRetryHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.http.impl.client.DefaultHttpRequestRetryHandler
  super_class: java.lang.Object
{
  public static final org.apache.http.impl.client.DefaultHttpRequestRetryHandler INSTANCE;
    descriptor: Lorg/apache/http/impl/client/DefaultHttpRequestRetryHandler;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

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

  private final java.util.Set<java.lang.Class<? extends java.io.IOException>> nonRetriableClasses;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/Class<+Ljava/io/IOException;>;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 59
            new org.apache.http.impl.client.DefaultHttpRequestRetryHandler
            dup
            invokespecial org.apache.http.impl.client.DefaultHttpRequestRetryHandler.<init>:()V
            putstatic org.apache.http.impl.client.DefaultHttpRequestRetryHandler.INSTANCE:Lorg/apache/http/impl/client/DefaultHttpRequestRetryHandler;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(int, boolean, java.util.Collection<java.lang.Class<? extends java.io.IOException>>);
    descriptor: (IZLjava/util/Collection;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.apache.http.impl.client.DefaultHttpRequestRetryHandler this
        start local 1 // int retryCount
        start local 2 // boolean requestSentRetryEnabled
        start local 3 // java.util.Collection clazzes
         0: .line 81
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 82
            aload 0 /* this */
            iload 1 /* retryCount */
            putfield org.apache.http.impl.client.DefaultHttpRequestRetryHandler.retryCount:I
         2: .line 83
            aload 0 /* this */
            iload 2 /* requestSentRetryEnabled */
            putfield org.apache.http.impl.client.DefaultHttpRequestRetryHandler.requestSentRetryEnabled:Z
         3: .line 84
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.apache.http.impl.client.DefaultHttpRequestRetryHandler.nonRetriableClasses:Ljava/util/Set;
         4: .line 85
            aload 3 /* clazzes */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: org.apache.http.impl.client.DefaultHttpRequestRetryHandler int int java.util.Collection top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 4 /* clazz */
        start local 4 // java.lang.Class clazz
         6: .line 86
            aload 0 /* this */
            getfield org.apache.http.impl.client.DefaultHttpRequestRetryHandler.nonRetriableClasses:Ljava/util/Set;
            aload 4 /* clazz */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Class clazz
         7: .line 85
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 88
            return
        end local 3 // java.util.Collection clazzes
        end local 2 // boolean requestSentRetryEnabled
        end local 1 // int retryCount
        end local 0 // org.apache.http.impl.client.DefaultHttpRequestRetryHandler this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    9     0                     this  Lorg/apache/http/impl/client/DefaultHttpRequestRetryHandler;
            0    9     1               retryCount  I
            0    9     2  requestSentRetryEnabled  Z
            0    9     3                  clazzes  Ljava/util/Collection<Ljava/lang/Class<+Ljava/io/IOException;>;>;
            6    7     4                    clazz  Ljava/lang/Class<+Ljava/io/IOException;>;
    Signature: (IZLjava/util/Collection<Ljava/lang/Class<+Ljava/io/IOException;>;>;)V
    MethodParameters:
                         Name  Flags
      retryCount               final
      requestSentRetryEnabled  final
      clazzes                  final

  public void <init>(int, boolean);
    descriptor: (IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.apache.http.impl.client.DefaultHttpRequestRetryHandler this
        start local 1 // int retryCount
        start local 2 // boolean requestSentRetryEnabled
         0: .line 104
            aload 0 /* this */
            iload 1 /* retryCount */
            iload 2 /* requestSentRetryEnabled */
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_0
         1: .line 105
            ldc Ljava/io/InterruptedIOException;
            aastore
            dup
            iconst_1
         2: .line 106
            ldc Ljava/net/UnknownHostException;
            aastore
            dup
            iconst_2
         3: .line 107
            ldc Ljava/net/ConnectException;
            aastore
            dup
            iconst_3
         4: .line 108
            ldc Ljavax/net/ssl/SSLException;
            aastore
         5: .line 104
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial org.apache.http.impl.client.DefaultHttpRequestRetryHandler.<init>:(IZLjava/util/Collection;)V
         6: .line 109
            return
        end local 2 // boolean requestSentRetryEnabled
        end local 1 // int retryCount
        end local 0 // org.apache.http.impl.client.DefaultHttpRequestRetryHandler this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    7     0                     this  Lorg/apache/http/impl/client/DefaultHttpRequestRetryHandler;
            0    7     1               retryCount  I
            0    7     2  requestSentRetryEnabled  Z
    MethodParameters:
                         Name  Flags
      retryCount               final
      requestSentRetryEnabled  final

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.http.impl.client.DefaultHttpRequestRetryHandler this
         0: .line 122
            aload 0 /* this */
            iconst_3
            iconst_0
            invokespecial org.apache.http.impl.client.DefaultHttpRequestRetryHandler.<init>:(IZ)V
         1: .line 123
            return
        end local 0 // org.apache.http.impl.client.DefaultHttpRequestRetryHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/http/impl/client/DefaultHttpRequestRetryHandler;

  public boolean retryRequest(java.io.IOException, int, org.apache.http.protocol.HttpContext);
    descriptor: (Ljava/io/IOException;ILorg/apache/http/protocol/HttpContext;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=4
        start local 0 // org.apache.http.impl.client.DefaultHttpRequestRetryHandler this
        start local 1 // java.io.IOException exception
        start local 2 // int executionCount
        start local 3 // org.apache.http.protocol.HttpContext context
         0: .line 133
            aload 1 /* exception */
            ldc "Exception parameter"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 134
            aload 3 /* context */
            ldc "HTTP context"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 135
            iload 2 /* executionCount */
            aload 0 /* this */
            getfield org.apache.http.impl.client.DefaultHttpRequestRetryHandler.retryCount:I
            if_icmple 4
         3: .line 137
            iconst_0
            ireturn
         4: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.client.DefaultHttpRequestRetryHandler.nonRetriableClasses:Ljava/util/Set;
            aload 1 /* exception */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 140
            iconst_0
            ireturn
         6: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.client.DefaultHttpRequestRetryHandler.nonRetriableClasses:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: org.apache.http.impl.client.DefaultHttpRequestRetryHandler java.io.IOException int org.apache.http.protocol.HttpContext top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 4 /* rejectException */
        start local 4 // java.lang.Class rejectException
         8: .line 143
            aload 4 /* rejectException */
            aload 1 /* exception */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 144
            iconst_0
            ireturn
        end local 4 // java.lang.Class rejectException
        10: .line 142
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        11: .line 147
            aload 3 /* context */
            invokestatic org.apache.http.client.protocol.HttpClientContext.adapt:(Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/client/protocol/HttpClientContext;
            astore 4 /* clientContext */
        start local 4 // org.apache.http.client.protocol.HttpClientContext clientContext
        12: .line 148
            aload 4 /* clientContext */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.getRequest:()Lorg/apache/http/HttpRequest;
            astore 5 /* request */
        start local 5 // org.apache.http.HttpRequest request
        13: .line 150
            aload 0 /* this */
            aload 5 /* request */
            invokevirtual org.apache.http.impl.client.DefaultHttpRequestRetryHandler.requestIsAborted:(Lorg/apache/http/HttpRequest;)Z
            ifeq 15
        14: .line 151
            iconst_0
            ireturn
        15: .line 154
      StackMap locals: org.apache.http.impl.client.DefaultHttpRequestRetryHandler java.io.IOException int org.apache.http.protocol.HttpContext org.apache.http.client.protocol.HttpClientContext org.apache.http.HttpRequest
      StackMap stack:
            aload 0 /* this */
            aload 5 /* request */
            invokevirtual org.apache.http.impl.client.DefaultHttpRequestRetryHandler.handleAsIdempotent:(Lorg/apache/http/HttpRequest;)Z
            ifeq 17
        16: .line 156
            iconst_1
            ireturn
        17: .line 159
      StackMap locals:
      StackMap stack:
            aload 4 /* clientContext */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.isRequestSent:()Z
            ifeq 18
            aload 0 /* this */
            getfield org.apache.http.impl.client.DefaultHttpRequestRetryHandler.requestSentRetryEnabled:Z
            ifeq 19
        18: .line 162
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        19: .line 165
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // org.apache.http.HttpRequest request
        end local 4 // org.apache.http.client.protocol.HttpClientContext clientContext
        end local 3 // org.apache.http.protocol.HttpContext context
        end local 2 // int executionCount
        end local 1 // java.io.IOException exception
        end local 0 // org.apache.http.impl.client.DefaultHttpRequestRetryHandler this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   20     0             this  Lorg/apache/http/impl/client/DefaultHttpRequestRetryHandler;
            0   20     1        exception  Ljava/io/IOException;
            0   20     2   executionCount  I
            0   20     3          context  Lorg/apache/http/protocol/HttpContext;
            8   10     4  rejectException  Ljava/lang/Class<+Ljava/io/IOException;>;
           12   20     4    clientContext  Lorg/apache/http/client/protocol/HttpClientContext;
           13   20     5          request  Lorg/apache/http/HttpRequest;
    MethodParameters:
                Name  Flags
      exception       final
      executionCount  final
      context         final

  public boolean isRequestSentRetryEnabled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.http.impl.client.DefaultHttpRequestRetryHandler this
         0: .line 173
            aload 0 /* this */
            getfield org.apache.http.impl.client.DefaultHttpRequestRetryHandler.requestSentRetryEnabled:Z
            ireturn
        end local 0 // org.apache.http.impl.client.DefaultHttpRequestRetryHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/http/impl/client/DefaultHttpRequestRetryHandler;

  public int getRetryCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.http.impl.client.DefaultHttpRequestRetryHandler this
         0: .line 180
            aload 0 /* this */
            getfield org.apache.http.impl.client.DefaultHttpRequestRetryHandler.retryCount:I
            ireturn
        end local 0 // org.apache.http.impl.client.DefaultHttpRequestRetryHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/http/impl/client/DefaultHttpRequestRetryHandler;

  protected boolean handleAsIdempotent(org.apache.http.HttpRequest);
    descriptor: (Lorg/apache/http/HttpRequest;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.http.impl.client.DefaultHttpRequestRetryHandler this
        start local 1 // org.apache.http.HttpRequest request
         0: .line 187
            aload 1 /* request */
            instanceof org.apache.http.HttpEntityEnclosingRequest
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // org.apache.http.HttpRequest request
        end local 0 // org.apache.http.impl.client.DefaultHttpRequestRetryHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/apache/http/impl/client/DefaultHttpRequestRetryHandler;
            0    3     1  request  Lorg/apache/http/HttpRequest;
    MethodParameters:
         Name  Flags
      request  final

  protected boolean requestIsAborted(org.apache.http.HttpRequest);
    descriptor: (Lorg/apache/http/HttpRequest;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // org.apache.http.impl.client.DefaultHttpRequestRetryHandler this
        start local 1 // org.apache.http.HttpRequest request
         0: .line 197
            aload 1 /* request */
            astore 2 /* req */
        start local 2 // org.apache.http.HttpRequest req
         1: .line 198
            aload 1 /* request */
            instanceof org.apache.http.impl.client.RequestWrapper
            ifeq 3
         2: .line 199
            aload 1 /* request */
            checkcast org.apache.http.impl.client.RequestWrapper
            invokevirtual org.apache.http.impl.client.RequestWrapper.getOriginal:()Lorg/apache/http/HttpRequest;
            astore 2 /* req */
         3: .line 201
      StackMap locals: org.apache.http.HttpRequest
      StackMap stack:
            aload 2 /* req */
            instanceof org.apache.http.client.methods.HttpUriRequest
            ifeq 4
            aload 2 /* req */
            checkcast org.apache.http.client.methods.HttpUriRequest
            invokeinterface org.apache.http.client.methods.HttpUriRequest.isAborted:()Z
            ifeq 4
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // org.apache.http.HttpRequest req
        end local 1 // org.apache.http.HttpRequest request
        end local 0 // org.apache.http.impl.client.DefaultHttpRequestRetryHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/apache/http/impl/client/DefaultHttpRequestRetryHandler;
            0    5     1  request  Lorg/apache/http/HttpRequest;
            1    5     2      req  Lorg/apache/http/HttpRequest;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      request  final
}
SourceFile: "DefaultHttpRequestRetryHandler.java"
    RuntimeInvisibleAnnotations: 
      org.apache.http.annotation.Contract(threading = org.apache.http.annotation.ThreadingBehavior.IMMUTABLE:Lorg/apache/http/annotation/ThreadingBehavior;)