public class com.netflix.hystrix.strategy.concurrency.HystrixRequestContext implements java.io.Closeable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.netflix.hystrix.strategy.concurrency.HystrixRequestContext
  super_class: java.lang.Object
{
  private static java.lang.ThreadLocal<com.netflix.hystrix.strategy.concurrency.HystrixRequestContext> requestVariables;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/lang/ThreadLocal<Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;>;

  java.util.concurrent.ConcurrentHashMap<com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableDefault<?>, com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableDefault$LazyInitializer<?>> state;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0000) 
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestVariableDefault<*>;Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestVariableDefault$LazyInitializer<*>;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 76
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putstatic com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.requestVariables:Ljava/lang/ThreadLocal;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean isCurrentThreadInitialized();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 79
            getstatic com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.requestVariables:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast com.netflix.hystrix.strategy.concurrency.HystrixRequestContext
            astore 0 /* context */
        start local 0 // com.netflix.hystrix.strategy.concurrency.HystrixRequestContext context
         1: .line 80
            aload 0 /* context */
            ifnull 2
            aload 0 /* context */
            getfield com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.state:Ljava/util/concurrent/ConcurrentHashMap;
            ifnull 2
            iconst_1
            ireturn
      StackMap locals: com.netflix.hystrix.strategy.concurrency.HystrixRequestContext
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // com.netflix.hystrix.strategy.concurrency.HystrixRequestContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            1    3     0  context  Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;

  public static com.netflix.hystrix.strategy.concurrency.HystrixRequestContext getContextForCurrentThread();
    descriptor: ()Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 84
            getstatic com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.requestVariables:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast com.netflix.hystrix.strategy.concurrency.HystrixRequestContext
            astore 0 /* context */
        start local 0 // com.netflix.hystrix.strategy.concurrency.HystrixRequestContext context
         1: .line 85
            aload 0 /* context */
            ifnull 3
            aload 0 /* context */
            getfield com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.state:Ljava/util/concurrent/ConcurrentHashMap;
            ifnull 3
         2: .line 89
            aload 0 /* context */
            areturn
         3: .line 91
      StackMap locals: com.netflix.hystrix.strategy.concurrency.HystrixRequestContext
      StackMap stack:
            aconst_null
            areturn
        end local 0 // com.netflix.hystrix.strategy.concurrency.HystrixRequestContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            1    4     0  context  Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;

  public static void setContextOnCurrentThread(com.netflix.hystrix.strategy.concurrency.HystrixRequestContext);
    descriptor: (Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.netflix.hystrix.strategy.concurrency.HystrixRequestContext state
         0: .line 96
            getstatic com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.requestVariables:Ljava/lang/ThreadLocal;
            aload 0 /* state */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         1: .line 97
            return
        end local 0 // com.netflix.hystrix.strategy.concurrency.HystrixRequestContext state
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  state  Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;
    MethodParameters:
       Name  Flags
      state  

  public static com.netflix.hystrix.strategy.concurrency.HystrixRequestContext initializeContext();
    descriptor: ()Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 109
            new com.netflix.hystrix.strategy.concurrency.HystrixRequestContext
            dup
            invokespecial com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.<init>:()V
            astore 0 /* state */
        start local 0 // com.netflix.hystrix.strategy.concurrency.HystrixRequestContext state
         1: .line 110
            getstatic com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.requestVariables:Ljava/lang/ThreadLocal;
            aload 0 /* state */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         2: .line 111
            aload 0 /* state */
            areturn
        end local 0 // com.netflix.hystrix.strategy.concurrency.HystrixRequestContext state
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            1    3     0  state  Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.netflix.hystrix.strategy.concurrency.HystrixRequestContext this
         0: .line 122
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 119
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.state:Ljava/util/concurrent/ConcurrentHashMap;
         2: .line 124
            return
        end local 0 // com.netflix.hystrix.strategy.concurrency.HystrixRequestContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;

  public void shutdown();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.netflix.hystrix.strategy.concurrency.HystrixRequestContext this
         0: .line 132
            aload 0 /* this */
            getfield com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.state:Ljava/util/concurrent/ConcurrentHashMap;
            ifnull 9
         1: .line 133
            aload 0 /* this */
            getfield com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.state:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.keySet:()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
            invokevirtual java.util.concurrent.ConcurrentHashMap$KeySetView.iterator:()Ljava/util/Iterator;
            astore 2
            goto 7
      StackMap locals: com.netflix.hystrix.strategy.concurrency.HystrixRequestContext top java.util.Iterator
      StackMap stack:
         2: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableDefault
            astore 1 /* v */
        start local 1 // com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableDefault v
         3: .line 136
            aload 0 /* this */
            aload 1 /* v */
            invokestatic com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableDefault.remove:(Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestVariableDefault;)V
         4: .line 137
            goto 7
      StackMap locals: com.netflix.hystrix.strategy.concurrency.HystrixRequestContext com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableDefault java.util.Iterator
      StackMap stack: java.lang.Throwable
         5: astore 3 /* t */
        start local 3 // java.lang.Throwable t
         6: .line 138
            getstatic com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableDefault.logger:Lorg/slf4j/Logger;
            ldc "Error in shutdown, will continue with shutdown of other variables"
            aload 3 /* t */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Throwable t
        end local 1 // com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableDefault v
         7: .line 133
      StackMap locals: com.netflix.hystrix.strategy.concurrency.HystrixRequestContext top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 143
            aload 0 /* this */
            aconst_null
            putfield com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.state:Ljava/util/concurrent/ConcurrentHashMap;
         9: .line 145
      StackMap locals: com.netflix.hystrix.strategy.concurrency.HystrixRequestContext
      StackMap stack:
            return
        end local 0 // com.netflix.hystrix.strategy.concurrency.HystrixRequestContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;
            3    7     1     v  Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestVariableDefault<*>;
            6    7     3     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Throwable

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.netflix.hystrix.strategy.concurrency.HystrixRequestContext this
         0: .line 155
            aload 0 /* this */
            invokevirtual com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.shutdown:()V
         1: .line 156
            return
        end local 0 // com.netflix.hystrix.strategy.concurrency.HystrixRequestContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;
}
SourceFile: "HystrixRequestContext.java"
InnerClasses:
  final LazyInitializer = com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableDefault$LazyInitializer of com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableDefault
  public KeySetView = java.util.concurrent.ConcurrentHashMap$KeySetView of java.util.concurrent.ConcurrentHashMap