public class com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault implements com.netflix.hystrix.HystrixThreadPool
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final com.netflix.hystrix.HystrixThreadPoolProperties properties;
    descriptor: Lcom/netflix/hystrix/HystrixThreadPoolProperties;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.BlockingQueue<java.lang.Runnable> queue;
    descriptor: Ljava/util/concurrent/BlockingQueue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/BlockingQueue<Ljava/lang/Runnable;>;

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

  private final com.netflix.hystrix.HystrixThreadPoolMetrics metrics;
    descriptor: Lcom/netflix/hystrix/HystrixThreadPoolMetrics;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 163
            ldc Lcom/netflix/hystrix/HystrixThreadPool$HystrixThreadPoolDefault;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.logger:Lorg/slf4j/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(com.netflix.hystrix.HystrixThreadPoolKey, com.netflix.hystrix.HystrixThreadPoolProperties$Setter);
    descriptor: (Lcom/netflix/hystrix/HystrixThreadPoolKey;Lcom/netflix/hystrix/HystrixThreadPoolProperties$Setter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault this
        start local 1 // com.netflix.hystrix.HystrixThreadPoolKey threadPoolKey
        start local 2 // com.netflix.hystrix.HystrixThreadPoolProperties$Setter propertiesDefaults
         0: .line 171
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 172
            aload 0 /* this */
            aload 1 /* threadPoolKey */
            aload 2 /* propertiesDefaults */
            invokestatic com.netflix.hystrix.strategy.properties.HystrixPropertiesFactory.getThreadPoolProperties:(Lcom/netflix/hystrix/HystrixThreadPoolKey;Lcom/netflix/hystrix/HystrixThreadPoolProperties$Setter;)Lcom/netflix/hystrix/HystrixThreadPoolProperties;
            putfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.properties:Lcom/netflix/hystrix/HystrixThreadPoolProperties;
         2: .line 173
            invokestatic com.netflix.hystrix.strategy.HystrixPlugins.getInstance:()Lcom/netflix/hystrix/strategy/HystrixPlugins;
            invokevirtual com.netflix.hystrix.strategy.HystrixPlugins.getConcurrencyStrategy:()Lcom/netflix/hystrix/strategy/concurrency/HystrixConcurrencyStrategy;
            astore 3 /* concurrencyStrategy */
        start local 3 // com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy concurrencyStrategy
         3: .line 174
            aload 0 /* this */
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.properties:Lcom/netflix/hystrix/HystrixThreadPoolProperties;
            invokevirtual com.netflix.hystrix.HystrixThreadPoolProperties.maxQueueSize:()Lcom/netflix/hystrix/strategy/properties/HystrixProperty;
            invokeinterface com.netflix.hystrix.strategy.properties.HystrixProperty.get:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            putfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.queueSize:I
         4: .line 176
            aload 0 /* this */
            aload 1 /* threadPoolKey */
         5: .line 177
            aload 3 /* concurrencyStrategy */
            aload 1 /* threadPoolKey */
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.properties:Lcom/netflix/hystrix/HystrixThreadPoolProperties;
            invokevirtual com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy.getThreadPool:(Lcom/netflix/hystrix/HystrixThreadPoolKey;Lcom/netflix/hystrix/HystrixThreadPoolProperties;)Ljava/util/concurrent/ThreadPoolExecutor;
         6: .line 178
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.properties:Lcom/netflix/hystrix/HystrixThreadPoolProperties;
         7: .line 176
            invokestatic com.netflix.hystrix.HystrixThreadPoolMetrics.getInstance:(Lcom/netflix/hystrix/HystrixThreadPoolKey;Ljava/util/concurrent/ThreadPoolExecutor;Lcom/netflix/hystrix/HystrixThreadPoolProperties;)Lcom/netflix/hystrix/HystrixThreadPoolMetrics;
            putfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.metrics:Lcom/netflix/hystrix/HystrixThreadPoolMetrics;
         8: .line 179
            aload 0 /* this */
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.metrics:Lcom/netflix/hystrix/HystrixThreadPoolMetrics;
            invokevirtual com.netflix.hystrix.HystrixThreadPoolMetrics.getThreadPool:()Ljava/util/concurrent/ThreadPoolExecutor;
            putfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
         9: .line 180
            aload 0 /* this */
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
            invokevirtual java.util.concurrent.ThreadPoolExecutor.getQueue:()Ljava/util/concurrent/BlockingQueue;
            putfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.queue:Ljava/util/concurrent/BlockingQueue;
        10: .line 183
            aload 1 /* threadPoolKey */
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.metrics:Lcom/netflix/hystrix/HystrixThreadPoolMetrics;
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.properties:Lcom/netflix/hystrix/HystrixThreadPoolProperties;
            invokestatic com.netflix.hystrix.strategy.metrics.HystrixMetricsPublisherFactory.createOrRetrievePublisherForThreadPool:(Lcom/netflix/hystrix/HystrixThreadPoolKey;Lcom/netflix/hystrix/HystrixThreadPoolMetrics;Lcom/netflix/hystrix/HystrixThreadPoolProperties;)Lcom/netflix/hystrix/strategy/metrics/HystrixMetricsPublisherThreadPool;
            pop
        11: .line 184
            return
        end local 3 // com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy concurrencyStrategy
        end local 2 // com.netflix.hystrix.HystrixThreadPoolProperties$Setter propertiesDefaults
        end local 1 // com.netflix.hystrix.HystrixThreadPoolKey threadPoolKey
        end local 0 // com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   12     0                 this  Lcom/netflix/hystrix/HystrixThreadPool$HystrixThreadPoolDefault;
            0   12     1        threadPoolKey  Lcom/netflix/hystrix/HystrixThreadPoolKey;
            0   12     2   propertiesDefaults  Lcom/netflix/hystrix/HystrixThreadPoolProperties$Setter;
            3   12     3  concurrencyStrategy  Lcom/netflix/hystrix/strategy/concurrency/HystrixConcurrencyStrategy;
    MethodParameters:
                    Name  Flags
      threadPoolKey       
      propertiesDefaults  

  public java.util.concurrent.ThreadPoolExecutor getExecutor();
    descriptor: ()Ljava/util/concurrent/ThreadPoolExecutor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault this
         0: .line 188
            aload 0 /* this */
            invokevirtual com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.touchConfig:()V
         1: .line 189
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
            areturn
        end local 0 // com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/netflix/hystrix/HystrixThreadPool$HystrixThreadPoolDefault;

  public rx.Scheduler getScheduler();
    descriptor: ()Lrx/Scheduler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault this
         0: .line 195
            aload 0 /* this */
            new com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault$1
            dup
            aload 0 /* this */
            invokespecial com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault$1.<init>:(Lcom/netflix/hystrix/HystrixThreadPool$HystrixThreadPoolDefault;)V
            invokevirtual com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.getScheduler:(Lrx/functions/Func0;)Lrx/Scheduler;
            areturn
        end local 0 // com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/netflix/hystrix/HystrixThreadPool$HystrixThreadPoolDefault;

  public rx.Scheduler getScheduler(rx.functions.Func0<java.lang.Boolean>);
    descriptor: (Lrx/functions/Func0;)Lrx/Scheduler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault this
        start local 1 // rx.functions.Func0 shouldInterruptThread
         0: .line 205
            aload 0 /* this */
            invokevirtual com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.touchConfig:()V
         1: .line 206
            new com.netflix.hystrix.strategy.concurrency.HystrixContextScheduler
            dup
            invokestatic com.netflix.hystrix.strategy.HystrixPlugins.getInstance:()Lcom/netflix/hystrix/strategy/HystrixPlugins;
            invokevirtual com.netflix.hystrix.strategy.HystrixPlugins.getConcurrencyStrategy:()Lcom/netflix/hystrix/strategy/concurrency/HystrixConcurrencyStrategy;
            aload 0 /* this */
            aload 1 /* shouldInterruptThread */
            invokespecial com.netflix.hystrix.strategy.concurrency.HystrixContextScheduler.<init>:(Lcom/netflix/hystrix/strategy/concurrency/HystrixConcurrencyStrategy;Lcom/netflix/hystrix/HystrixThreadPool;Lrx/functions/Func0;)V
            areturn
        end local 1 // rx.functions.Func0 shouldInterruptThread
        end local 0 // com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lcom/netflix/hystrix/HystrixThreadPool$HystrixThreadPoolDefault;
            0    2     1  shouldInterruptThread  Lrx/functions/Func0<Ljava/lang/Boolean;>;
    Signature: (Lrx/functions/Func0<Ljava/lang/Boolean;>;)Lrx/Scheduler;
    MethodParameters:
                       Name  Flags
      shouldInterruptThread  

  private void touchConfig();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault this
         0: .line 211
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.properties:Lcom/netflix/hystrix/HystrixThreadPoolProperties;
            invokevirtual com.netflix.hystrix.HystrixThreadPoolProperties.coreSize:()Lcom/netflix/hystrix/strategy/properties/HystrixProperty;
            invokeinterface com.netflix.hystrix.strategy.properties.HystrixProperty.get:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 1 /* dynamicCoreSize */
        start local 1 // int dynamicCoreSize
         1: .line 212
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.properties:Lcom/netflix/hystrix/HystrixThreadPoolProperties;
            invokevirtual com.netflix.hystrix.HystrixThreadPoolProperties.maximumSize:()Lcom/netflix/hystrix/strategy/properties/HystrixProperty;
            invokeinterface com.netflix.hystrix.strategy.properties.HystrixProperty.get:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 2 /* configuredMaximumSize */
        start local 2 // int configuredMaximumSize
         2: .line 213
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.properties:Lcom/netflix/hystrix/HystrixThreadPoolProperties;
            invokevirtual com.netflix.hystrix.HystrixThreadPoolProperties.actualMaximumSize:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 3 /* dynamicMaximumSize */
        start local 3 // int dynamicMaximumSize
         3: .line 214
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.properties:Lcom/netflix/hystrix/HystrixThreadPoolProperties;
            invokevirtual com.netflix.hystrix.HystrixThreadPoolProperties.getAllowMaximumSizeToDivergeFromCoreSize:()Lcom/netflix/hystrix/strategy/properties/HystrixProperty;
            invokeinterface com.netflix.hystrix.strategy.properties.HystrixProperty.get:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 4 /* allowSizesToDiverge */
        start local 4 // boolean allowSizesToDiverge
         4: .line 215
            iconst_0
            istore 5 /* maxTooLow */
        start local 5 // boolean maxTooLow
         5: .line 217
            iload 4 /* allowSizesToDiverge */
            ifeq 8
            iload 2 /* configuredMaximumSize */
            iload 1 /* dynamicCoreSize */
            if_icmpge 8
         6: .line 219
            iload 1 /* dynamicCoreSize */
            istore 3 /* dynamicMaximumSize */
         7: .line 220
            iconst_1
            istore 5 /* maxTooLow */
         8: .line 224
      StackMap locals: com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
            invokevirtual java.util.concurrent.ThreadPoolExecutor.getCorePoolSize:()I
            iload 1 /* dynamicCoreSize */
            if_icmpne 9
            iload 4 /* allowSizesToDiverge */
            ifeq 16
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
            invokevirtual java.util.concurrent.ThreadPoolExecutor.getMaximumPoolSize:()I
            iload 3 /* dynamicMaximumSize */
            if_icmpeq 16
         9: .line 225
      StackMap locals:
      StackMap stack:
            iload 5 /* maxTooLow */
            ifeq 14
        10: .line 226
            getstatic com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.logger:Lorg/slf4j/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Hystrix ThreadPool configuration for : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.metrics:Lcom/netflix/hystrix/HystrixThreadPoolMetrics;
            invokevirtual com.netflix.hystrix.HystrixThreadPoolMetrics.getThreadPoolKey:()Lcom/netflix/hystrix/HystrixThreadPoolKey;
            invokeinterface com.netflix.hystrix.HystrixThreadPoolKey.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is trying to set coreSize = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 227
            iload 1 /* dynamicCoreSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " and maximumSize = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* configuredMaximumSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ".  Maximum size will be set to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 228
            iload 3 /* dynamicMaximumSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", the coreSize value, since it must be equal to or greater than the coreSize value"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 226
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;)V
        14: .line 230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
            iload 1 /* dynamicCoreSize */
            invokevirtual java.util.concurrent.ThreadPoolExecutor.setCorePoolSize:(I)V
        15: .line 231
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
            iload 3 /* dynamicMaximumSize */
            invokevirtual java.util.concurrent.ThreadPoolExecutor.setMaximumPoolSize:(I)V
        16: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.properties:Lcom/netflix/hystrix/HystrixThreadPoolProperties;
            invokevirtual com.netflix.hystrix.HystrixThreadPoolProperties.keepAliveTimeMinutes:()Lcom/netflix/hystrix/strategy/properties/HystrixProperty;
            invokeinterface com.netflix.hystrix.strategy.properties.HystrixProperty.get:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            i2l
            getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.ThreadPoolExecutor.setKeepAliveTime:(JLjava/util/concurrent/TimeUnit;)V
        17: .line 235
            return
        end local 5 // boolean maxTooLow
        end local 4 // boolean allowSizesToDiverge
        end local 3 // int dynamicMaximumSize
        end local 2 // int configuredMaximumSize
        end local 1 // int dynamicCoreSize
        end local 0 // com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   18     0                   this  Lcom/netflix/hystrix/HystrixThreadPool$HystrixThreadPoolDefault;
            1   18     1        dynamicCoreSize  I
            2   18     2  configuredMaximumSize  I
            3   18     3     dynamicMaximumSize  I
            4   18     4    allowSizesToDiverge  Z
            5   18     5              maxTooLow  Z

  public void markThreadExecution();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault this
         0: .line 239
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.metrics:Lcom/netflix/hystrix/HystrixThreadPoolMetrics;
            invokevirtual com.netflix.hystrix.HystrixThreadPoolMetrics.markThreadExecution:()V
         1: .line 240
            return
        end local 0 // com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/netflix/hystrix/HystrixThreadPool$HystrixThreadPoolDefault;

  public void markThreadCompletion();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault this
         0: .line 244
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.metrics:Lcom/netflix/hystrix/HystrixThreadPoolMetrics;
            invokevirtual com.netflix.hystrix.HystrixThreadPoolMetrics.markThreadCompletion:()V
         1: .line 245
            return
        end local 0 // com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/netflix/hystrix/HystrixThreadPool$HystrixThreadPoolDefault;

  public void markThreadRejection();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault this
         0: .line 249
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.metrics:Lcom/netflix/hystrix/HystrixThreadPoolMetrics;
            invokevirtual com.netflix.hystrix.HystrixThreadPoolMetrics.markThreadRejection:()V
         1: .line 250
            return
        end local 0 // com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/netflix/hystrix/HystrixThreadPool$HystrixThreadPoolDefault;

  public boolean isQueueSpaceAvailable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault this
         0: .line 264
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.queueSize:I
            ifgt 2
         1: .line 267
            iconst_1
            ireturn
         2: .line 269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
            invokevirtual java.util.concurrent.ThreadPoolExecutor.getQueue:()Ljava/util/concurrent/BlockingQueue;
            invokeinterface java.util.concurrent.BlockingQueue.size:()I
            aload 0 /* this */
            getfield com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.properties:Lcom/netflix/hystrix/HystrixThreadPoolProperties;
            invokevirtual com.netflix.hystrix.HystrixThreadPoolProperties.queueSizeRejectionThreshold:()Lcom/netflix/hystrix/strategy/properties/HystrixProperty;
            invokeinterface com.netflix.hystrix.strategy.properties.HystrixProperty.get:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            if_icmpge 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/netflix/hystrix/HystrixThreadPool$HystrixThreadPoolDefault;

  public java.util.concurrent.ExecutorService getExecutor();
    descriptor: ()Ljava/util/concurrent/ExecutorService;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault.getExecutor:()Ljava/util/concurrent/ThreadPoolExecutor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "HystrixThreadPool.java"
NestHost: com.netflix.hystrix.HystrixThreadPool
InnerClasses:
  public HystrixThreadPoolDefault = com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault of com.netflix.hystrix.HystrixThreadPool
  com.netflix.hystrix.HystrixThreadPool$HystrixThreadPoolDefault$1
  public Setter = com.netflix.hystrix.HystrixThreadPoolProperties$Setter of com.netflix.hystrix.HystrixThreadPoolProperties