public class org.apache.http.impl.client.FutureRequestExecutionService implements java.io.Closeable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.http.impl.client.FutureRequestExecutionService
  super_class: java.lang.Object
{
  private final org.apache.http.client.HttpClient httpclient;
    descriptor: Lorg/apache/http/client/HttpClient;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.ExecutorService executorService;
    descriptor: Ljava/util/concurrent/ExecutorService;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.http.impl.client.FutureRequestExecutionMetrics metrics;
    descriptor: Lorg/apache/http/impl/client/FutureRequestExecutionMetrics;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.atomic.AtomicBoolean closed;
    descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.apache.http.client.HttpClient, java.util.concurrent.ExecutorService);
    descriptor: (Lorg/apache/http/client/HttpClient;Ljava/util/concurrent/ExecutorService;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.http.impl.client.FutureRequestExecutionService this
        start local 1 // org.apache.http.client.HttpClient httpclient
        start local 2 // java.util.concurrent.ExecutorService executorService
         0: .line 67
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 51
            aload 0 /* this */
            new org.apache.http.impl.client.FutureRequestExecutionMetrics
            dup
            invokespecial org.apache.http.impl.client.FutureRequestExecutionMetrics.<init>:()V
            putfield org.apache.http.impl.client.FutureRequestExecutionService.metrics:Lorg/apache/http/impl/client/FutureRequestExecutionMetrics;
         2: .line 52
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
            putfield org.apache.http.impl.client.FutureRequestExecutionService.closed:Ljava/util/concurrent/atomic/AtomicBoolean;
         3: .line 70
            aload 0 /* this */
            aload 1 /* httpclient */
            putfield org.apache.http.impl.client.FutureRequestExecutionService.httpclient:Lorg/apache/http/client/HttpClient;
         4: .line 71
            aload 0 /* this */
            aload 2 /* executorService */
            putfield org.apache.http.impl.client.FutureRequestExecutionService.executorService:Ljava/util/concurrent/ExecutorService;
         5: .line 72
            return
        end local 2 // java.util.concurrent.ExecutorService executorService
        end local 1 // org.apache.http.client.HttpClient httpclient
        end local 0 // org.apache.http.impl.client.FutureRequestExecutionService this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lorg/apache/http/impl/client/FutureRequestExecutionService;
            0    6     1       httpclient  Lorg/apache/http/client/HttpClient;
            0    6     2  executorService  Ljava/util/concurrent/ExecutorService;
    MethodParameters:
                 Name  Flags
      httpclient       final
      executorService  final

  public <T> org.apache.http.impl.client.HttpRequestFutureTask<T> execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.protocol.HttpContext, org.apache.http.client.ResponseHandler<T>);
    descriptor: (Lorg/apache/http/client/methods/HttpUriRequest;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/client/ResponseHandler;)Lorg/apache/http/impl/client/HttpRequestFutureTask;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.http.impl.client.FutureRequestExecutionService this
        start local 1 // org.apache.http.client.methods.HttpUriRequest request
        start local 2 // org.apache.http.protocol.HttpContext context
        start local 3 // org.apache.http.client.ResponseHandler responseHandler
         0: .line 89
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* context */
            aload 3 /* responseHandler */
            aconst_null
            invokevirtual org.apache.http.impl.client.FutureRequestExecutionService.execute:(Lorg/apache/http/client/methods/HttpUriRequest;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/client/ResponseHandler;Lorg/apache/http/concurrent/FutureCallback;)Lorg/apache/http/impl/client/HttpRequestFutureTask;
            areturn
        end local 3 // org.apache.http.client.ResponseHandler responseHandler
        end local 2 // org.apache.http.protocol.HttpContext context
        end local 1 // org.apache.http.client.methods.HttpUriRequest request
        end local 0 // org.apache.http.impl.client.FutureRequestExecutionService this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/apache/http/impl/client/FutureRequestExecutionService;
            0    1     1          request  Lorg/apache/http/client/methods/HttpUriRequest;
            0    1     2          context  Lorg/apache/http/protocol/HttpContext;
            0    1     3  responseHandler  Lorg/apache/http/client/ResponseHandler<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/apache/http/client/methods/HttpUriRequest;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/client/ResponseHandler<TT;>;)Lorg/apache/http/impl/client/HttpRequestFutureTask<TT;>;
    MethodParameters:
                 Name  Flags
      request          final
      context          final
      responseHandler  final

  public <T> org.apache.http.impl.client.HttpRequestFutureTask<T> execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.protocol.HttpContext, org.apache.http.client.ResponseHandler<T>, org.apache.http.concurrent.FutureCallback<T>);
    descriptor: (Lorg/apache/http/client/methods/HttpUriRequest;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/client/ResponseHandler;Lorg/apache/http/concurrent/FutureCallback;)Lorg/apache/http/impl/client/HttpRequestFutureTask;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=5
        start local 0 // org.apache.http.impl.client.FutureRequestExecutionService this
        start local 1 // org.apache.http.client.methods.HttpUriRequest request
        start local 2 // org.apache.http.protocol.HttpContext context
        start local 3 // org.apache.http.client.ResponseHandler responseHandler
        start local 4 // org.apache.http.concurrent.FutureCallback callback
         0: .line 113
            aload 0 /* this */
            getfield org.apache.http.impl.client.FutureRequestExecutionService.closed:Ljava/util/concurrent/atomic/AtomicBoolean;
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifeq 2
         1: .line 114
            new java.lang.IllegalStateException
            dup
            ldc "Close has been called on this httpclient instance."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.client.FutureRequestExecutionService.metrics:Lorg/apache/http/impl/client/FutureRequestExecutionMetrics;
            invokevirtual org.apache.http.impl.client.FutureRequestExecutionMetrics.getScheduledConnections:()Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
            pop2
         3: .line 117
            new org.apache.http.impl.client.HttpRequestTaskCallable
            dup
         4: .line 118
            aload 0 /* this */
            getfield org.apache.http.impl.client.FutureRequestExecutionService.httpclient:Lorg/apache/http/client/HttpClient;
            aload 1 /* request */
            aload 2 /* context */
            aload 3 /* responseHandler */
            aload 4 /* callback */
            aload 0 /* this */
            getfield org.apache.http.impl.client.FutureRequestExecutionService.metrics:Lorg/apache/http/impl/client/FutureRequestExecutionMetrics;
         5: .line 117
            invokespecial org.apache.http.impl.client.HttpRequestTaskCallable.<init>:(Lorg/apache/http/client/HttpClient;Lorg/apache/http/client/methods/HttpUriRequest;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/client/ResponseHandler;Lorg/apache/http/concurrent/FutureCallback;Lorg/apache/http/impl/client/FutureRequestExecutionMetrics;)V
            astore 5 /* callable */
        start local 5 // org.apache.http.impl.client.HttpRequestTaskCallable callable
         6: .line 119
            new org.apache.http.impl.client.HttpRequestFutureTask
            dup
         7: .line 120
            aload 1 /* request */
            aload 5 /* callable */
         8: .line 119
            invokespecial org.apache.http.impl.client.HttpRequestFutureTask.<init>:(Lorg/apache/http/client/methods/HttpUriRequest;Lorg/apache/http/impl/client/HttpRequestTaskCallable;)V
            astore 6 /* httpRequestFutureTask */
        start local 6 // org.apache.http.impl.client.HttpRequestFutureTask httpRequestFutureTask
         9: .line 121
            aload 0 /* this */
            getfield org.apache.http.impl.client.FutureRequestExecutionService.executorService:Ljava/util/concurrent/ExecutorService;
            aload 6 /* httpRequestFutureTask */
            invokeinterface java.util.concurrent.ExecutorService.execute:(Ljava/lang/Runnable;)V
        10: .line 123
            aload 6 /* httpRequestFutureTask */
            areturn
        end local 6 // org.apache.http.impl.client.HttpRequestFutureTask httpRequestFutureTask
        end local 5 // org.apache.http.impl.client.HttpRequestTaskCallable callable
        end local 4 // org.apache.http.concurrent.FutureCallback callback
        end local 3 // org.apache.http.client.ResponseHandler responseHandler
        end local 2 // org.apache.http.protocol.HttpContext context
        end local 1 // org.apache.http.client.methods.HttpUriRequest request
        end local 0 // org.apache.http.impl.client.FutureRequestExecutionService this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   11     0                   this  Lorg/apache/http/impl/client/FutureRequestExecutionService;
            0   11     1                request  Lorg/apache/http/client/methods/HttpUriRequest;
            0   11     2                context  Lorg/apache/http/protocol/HttpContext;
            0   11     3        responseHandler  Lorg/apache/http/client/ResponseHandler<TT;>;
            0   11     4               callback  Lorg/apache/http/concurrent/FutureCallback<TT;>;
            6   11     5               callable  Lorg/apache/http/impl/client/HttpRequestTaskCallable<TT;>;
            9   11     6  httpRequestFutureTask  Lorg/apache/http/impl/client/HttpRequestFutureTask<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/apache/http/client/methods/HttpUriRequest;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/client/ResponseHandler<TT;>;Lorg/apache/http/concurrent/FutureCallback<TT;>;)Lorg/apache/http/impl/client/HttpRequestFutureTask<TT;>;
    MethodParameters:
                 Name  Flags
      request          final
      context          final
      responseHandler  final
      callback         final

  public org.apache.http.impl.client.FutureRequestExecutionMetrics metrics();
    descriptor: ()Lorg/apache/http/impl/client/FutureRequestExecutionMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.http.impl.client.FutureRequestExecutionService this
         0: .line 131
            aload 0 /* this */
            getfield org.apache.http.impl.client.FutureRequestExecutionService.metrics:Lorg/apache/http/impl/client/FutureRequestExecutionMetrics;
            areturn
        end local 0 // org.apache.http.impl.client.FutureRequestExecutionService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/http/impl/client/FutureRequestExecutionService;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.http.impl.client.FutureRequestExecutionService this
         0: .line 136
            aload 0 /* this */
            getfield org.apache.http.impl.client.FutureRequestExecutionService.closed:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
         1: .line 137
            aload 0 /* this */
            getfield org.apache.http.impl.client.FutureRequestExecutionService.executorService:Ljava/util/concurrent/ExecutorService;
            invokeinterface java.util.concurrent.ExecutorService.shutdownNow:()Ljava/util/List;
            pop
         2: .line 138
            aload 0 /* this */
            getfield org.apache.http.impl.client.FutureRequestExecutionService.httpclient:Lorg/apache/http/client/HttpClient;
            instanceof java.io.Closeable
            ifeq 4
         3: .line 139
            aload 0 /* this */
            getfield org.apache.http.impl.client.FutureRequestExecutionService.httpclient:Lorg/apache/http/client/HttpClient;
            checkcast java.io.Closeable
            invokeinterface java.io.Closeable.close:()V
         4: .line 141
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.http.impl.client.FutureRequestExecutionService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/http/impl/client/FutureRequestExecutionService;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "FutureRequestExecutionService.java"
    RuntimeInvisibleAnnotations: 
      org.apache.http.annotation.Contract(threading = org.apache.http.annotation.ThreadingBehavior.SAFE:Lorg/apache/http/annotation/ThreadingBehavior;)