public class org.apache.commons.lang3.concurrent.ConcurrentUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.lang3.concurrent.ConcurrentUtils
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.lang3.concurrent.ConcurrentUtils this
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 41
            return
        end local 0 // org.apache.commons.lang3.concurrent.ConcurrentUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/lang3/concurrent/ConcurrentUtils;

  public static org.apache.commons.lang3.concurrent.ConcurrentException extractCause(java.util.concurrent.ExecutionException);
    descriptor: (Ljava/util/concurrent/ExecutionException;)Lorg/apache/commons/lang3/concurrent/ConcurrentException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.concurrent.ExecutionException ex
         0: .line 62
            aload 0 /* ex */
            ifnull 1
            aload 0 /* ex */
            invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
            ifnonnull 2
         1: .line 63
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 66
      StackMap locals:
      StackMap stack:
            aload 0 /* ex */
            invokestatic org.apache.commons.lang3.concurrent.ConcurrentUtils.throwCause:(Ljava/util/concurrent/ExecutionException;)V
         3: .line 67
            new org.apache.commons.lang3.concurrent.ConcurrentException
            dup
            aload 0 /* ex */
            invokevirtual java.util.concurrent.ExecutionException.getMessage:()Ljava/lang/String;
            aload 0 /* ex */
            invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
            invokespecial org.apache.commons.lang3.concurrent.ConcurrentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            areturn
        end local 0 // java.util.concurrent.ExecutionException ex
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0    ex  Ljava/util/concurrent/ExecutionException;
    MethodParameters:
      Name  Flags
      ex    final

  public static org.apache.commons.lang3.concurrent.ConcurrentRuntimeException extractCauseUnchecked(java.util.concurrent.ExecutionException);
    descriptor: (Ljava/util/concurrent/ExecutionException;)Lorg/apache/commons/lang3/concurrent/ConcurrentRuntimeException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.concurrent.ExecutionException ex
         0: .line 84
            aload 0 /* ex */
            ifnull 1
            aload 0 /* ex */
            invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
            ifnonnull 2
         1: .line 85
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* ex */
            invokestatic org.apache.commons.lang3.concurrent.ConcurrentUtils.throwCause:(Ljava/util/concurrent/ExecutionException;)V
         3: .line 89
            new org.apache.commons.lang3.concurrent.ConcurrentRuntimeException
            dup
            aload 0 /* ex */
            invokevirtual java.util.concurrent.ExecutionException.getMessage:()Ljava/lang/String;
            aload 0 /* ex */
            invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
            invokespecial org.apache.commons.lang3.concurrent.ConcurrentRuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            areturn
        end local 0 // java.util.concurrent.ExecutionException ex
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0    ex  Ljava/util/concurrent/ExecutionException;
    MethodParameters:
      Name  Flags
      ex    final

  public static void handleCause(java.util.concurrent.ExecutionException);
    descriptor: (Ljava/util/concurrent/ExecutionException;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.util.concurrent.ExecutionException ex
         0: .line 107
            aload 0 /* ex */
            invokestatic org.apache.commons.lang3.concurrent.ConcurrentUtils.extractCause:(Ljava/util/concurrent/ExecutionException;)Lorg/apache/commons/lang3/concurrent/ConcurrentException;
            astore 1 /* cex */
        start local 1 // org.apache.commons.lang3.concurrent.ConcurrentException cex
         1: .line 109
            aload 1 /* cex */
            ifnull 3
         2: .line 110
            aload 1 /* cex */
            athrow
         3: .line 112
      StackMap locals: org.apache.commons.lang3.concurrent.ConcurrentException
      StackMap stack:
            return
        end local 1 // org.apache.commons.lang3.concurrent.ConcurrentException cex
        end local 0 // java.util.concurrent.ExecutionException ex
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0    ex  Ljava/util/concurrent/ExecutionException;
            1    4     1   cex  Lorg/apache/commons/lang3/concurrent/ConcurrentException;
    Exceptions:
      throws org.apache.commons.lang3.concurrent.ConcurrentException
    MethodParameters:
      Name  Flags
      ex    final

  public static void handleCauseUnchecked(java.util.concurrent.ExecutionException);
    descriptor: (Ljava/util/concurrent/ExecutionException;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.util.concurrent.ExecutionException ex
         0: .line 128
            aload 0 /* ex */
            invokestatic org.apache.commons.lang3.concurrent.ConcurrentUtils.extractCauseUnchecked:(Ljava/util/concurrent/ExecutionException;)Lorg/apache/commons/lang3/concurrent/ConcurrentRuntimeException;
            astore 1 /* crex */
        start local 1 // org.apache.commons.lang3.concurrent.ConcurrentRuntimeException crex
         1: .line 130
            aload 1 /* crex */
            ifnull 3
         2: .line 131
            aload 1 /* crex */
            athrow
         3: .line 133
      StackMap locals: org.apache.commons.lang3.concurrent.ConcurrentRuntimeException
      StackMap stack:
            return
        end local 1 // org.apache.commons.lang3.concurrent.ConcurrentRuntimeException crex
        end local 0 // java.util.concurrent.ExecutionException ex
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0    ex  Ljava/util/concurrent/ExecutionException;
            1    4     1  crex  Lorg/apache/commons/lang3/concurrent/ConcurrentRuntimeException;
    MethodParameters:
      Name  Flags
      ex    final

  static java.lang.Throwable checkedException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.Throwable ex
         0: .line 145
            aload 0 /* ex */
            ifnull 2
            aload 0 /* ex */
            instanceof java.lang.RuntimeException
            ifne 2
         1: .line 146
            aload 0 /* ex */
            instanceof java.lang.Error
            ifne 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: new java.lang.StringBuilder
            dup
            ldc "Not a checked exception: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
         4: .line 145
            invokestatic org.apache.commons.lang3.Validate.isTrue:(ZLjava/lang/String;[Ljava/lang/Object;)V
         5: .line 148
            aload 0 /* ex */
            areturn
        end local 0 // java.lang.Throwable ex
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0    ex  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      ex    final

  private static void throwCause(java.util.concurrent.ExecutionException);
    descriptor: (Ljava/util/concurrent/ExecutionException;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.ExecutionException ex
         0: .line 158
            aload 0 /* ex */
            invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
            instanceof java.lang.RuntimeException
            ifeq 2
         1: .line 159
            aload 0 /* ex */
            invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
            checkcast java.lang.RuntimeException
            athrow
         2: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* ex */
            invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
            instanceof java.lang.Error
            ifeq 4
         3: .line 163
            aload 0 /* ex */
            invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
            checkcast java.lang.Error
            athrow
         4: .line 165
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.concurrent.ExecutionException ex
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    ex  Ljava/util/concurrent/ExecutionException;
    MethodParameters:
      Name  Flags
      ex    final

  public static <T> T initialize(org.apache.commons.lang3.concurrent.ConcurrentInitializer<T>);
    descriptor: (Lorg/apache/commons/lang3/concurrent/ConcurrentInitializer;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.lang3.concurrent.ConcurrentInitializer initializer
         0: .line 183
            aload 0 /* initializer */
            ifnull 1
            aload 0 /* initializer */
            invokeinterface org.apache.commons.lang3.concurrent.ConcurrentInitializer.get:()Ljava/lang/Object;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Object
         2: areturn
        end local 0 // org.apache.commons.lang3.concurrent.ConcurrentInitializer initializer
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  initializer  Lorg/apache/commons/lang3/concurrent/ConcurrentInitializer<TT;>;
    Exceptions:
      throws org.apache.commons.lang3.concurrent.ConcurrentException
    Signature: <T:Ljava/lang/Object;>(Lorg/apache/commons/lang3/concurrent/ConcurrentInitializer<TT;>;)TT;
    MethodParameters:
             Name  Flags
      initializer  final

  public static <T> T initializeUnchecked(org.apache.commons.lang3.concurrent.ConcurrentInitializer<T>);
    descriptor: (Lorg/apache/commons/lang3/concurrent/ConcurrentInitializer;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.commons.lang3.concurrent.ConcurrentInitializer initializer
         0: .line 201
            aload 0 /* initializer */
            invokestatic org.apache.commons.lang3.concurrent.ConcurrentUtils.initialize:(Lorg/apache/commons/lang3/concurrent/ConcurrentInitializer;)Ljava/lang/Object;
         1: areturn
         2: .line 202
      StackMap locals:
      StackMap stack: org.apache.commons.lang3.concurrent.ConcurrentException
            astore 1 /* cex */
        start local 1 // org.apache.commons.lang3.concurrent.ConcurrentException cex
         3: .line 203
            new org.apache.commons.lang3.concurrent.ConcurrentRuntimeException
            dup
            aload 1 /* cex */
            invokevirtual org.apache.commons.lang3.concurrent.ConcurrentException.getCause:()Ljava/lang/Throwable;
            invokespecial org.apache.commons.lang3.concurrent.ConcurrentRuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // org.apache.commons.lang3.concurrent.ConcurrentException cex
        end local 0 // org.apache.commons.lang3.concurrent.ConcurrentInitializer initializer
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0  initializer  Lorg/apache/commons/lang3/concurrent/ConcurrentInitializer<TT;>;
            3    4     1          cex  Lorg/apache/commons/lang3/concurrent/ConcurrentException;
      Exception table:
        from    to  target  type
           0     1       2  Class org.apache.commons.lang3.concurrent.ConcurrentException
    Signature: <T:Ljava/lang/Object;>(Lorg/apache/commons/lang3/concurrent/ConcurrentInitializer<TT;>;)TT;
    MethodParameters:
             Name  Flags
      initializer  final

  public static <K, V> V putIfAbsent(java.util.concurrent.ConcurrentMap<K, V>, K, );
    descriptor: (Ljava/util/concurrent/ConcurrentMap;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.util.concurrent.ConcurrentMap map
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
         0: .line 243
            aload 0 /* map */
            ifnonnull 2
         1: .line 244
            aconst_null
            areturn
         2: .line 247
      StackMap locals:
      StackMap stack:
            aload 0 /* map */
            aload 1 /* key */
            aload 2 /* value */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         3: .line 248
            aload 3 /* result */
            ifnull 4
            aload 3 /* result */
            goto 5
      StackMap locals: java.lang.Object
      StackMap stack:
         4: aload 2 /* value */
      StackMap locals:
      StackMap stack: java.lang.Object
         5: areturn
        end local 3 // java.lang.Object result
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // java.util.concurrent.ConcurrentMap map
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0     map  Ljava/util/concurrent/ConcurrentMap<TK;TV;>;
            0    6     1     key  TK;
            0    6     2   value  TV;
            3    6     3  result  TV;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/concurrent/ConcurrentMap<TK;TV;>;TK;TV;)TV;
    MethodParameters:
       Name  Flags
      map    final
      key    final
      value  final

  public static <K, V> V createIfAbsent(java.util.concurrent.ConcurrentMap<K, V>, K, org.apache.commons.lang3.concurrent.ConcurrentInitializer<V>);
    descriptor: (Ljava/util/concurrent/ConcurrentMap;Ljava/lang/Object;Lorg/apache/commons/lang3/concurrent/ConcurrentInitializer;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.util.concurrent.ConcurrentMap map
        start local 1 // java.lang.Object key
        start local 2 // org.apache.commons.lang3.concurrent.ConcurrentInitializer init
         0: .line 273
            aload 0 /* map */
            ifnull 1
            aload 2 /* init */
            ifnonnull 2
         1: .line 274
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 277
      StackMap locals:
      StackMap stack:
            aload 0 /* map */
            aload 1 /* key */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* value */
        start local 3 // java.lang.Object value
         3: .line 278
            aload 3 /* value */
            ifnonnull 5
         4: .line 279
            aload 0 /* map */
            aload 1 /* key */
            aload 2 /* init */
            invokeinterface org.apache.commons.lang3.concurrent.ConcurrentInitializer.get:()Ljava/lang/Object;
            invokestatic org.apache.commons.lang3.concurrent.ConcurrentUtils.putIfAbsent:(Ljava/util/concurrent/ConcurrentMap;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         5: .line 281
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* value */
            areturn
        end local 3 // java.lang.Object value
        end local 2 // org.apache.commons.lang3.concurrent.ConcurrentInitializer init
        end local 1 // java.lang.Object key
        end local 0 // java.util.concurrent.ConcurrentMap map
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0    map  Ljava/util/concurrent/ConcurrentMap<TK;TV;>;
            0    6     1    key  TK;
            0    6     2   init  Lorg/apache/commons/lang3/concurrent/ConcurrentInitializer<TV;>;
            3    6     3  value  TV;
    Exceptions:
      throws org.apache.commons.lang3.concurrent.ConcurrentException
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/concurrent/ConcurrentMap<TK;TV;>;TK;Lorg/apache/commons/lang3/concurrent/ConcurrentInitializer<TV;>;)TV;
    MethodParameters:
      Name  Flags
      map   final
      key   final
      init  final

  public static <K, V> V createIfAbsentUnchecked(java.util.concurrent.ConcurrentMap<K, V>, K, org.apache.commons.lang3.concurrent.ConcurrentInitializer<V>);
    descriptor: (Ljava/util/concurrent/ConcurrentMap;Ljava/lang/Object;Lorg/apache/commons/lang3/concurrent/ConcurrentInitializer;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.util.concurrent.ConcurrentMap map
        start local 1 // java.lang.Object key
        start local 2 // org.apache.commons.lang3.concurrent.ConcurrentInitializer init
         0: .line 302
            aload 0 /* map */
            aload 1 /* key */
            aload 2 /* init */
            invokestatic org.apache.commons.lang3.concurrent.ConcurrentUtils.createIfAbsent:(Ljava/util/concurrent/ConcurrentMap;Ljava/lang/Object;Lorg/apache/commons/lang3/concurrent/ConcurrentInitializer;)Ljava/lang/Object;
         1: areturn
         2: .line 303
      StackMap locals:
      StackMap stack: org.apache.commons.lang3.concurrent.ConcurrentException
            astore 3 /* cex */
        start local 3 // org.apache.commons.lang3.concurrent.ConcurrentException cex
         3: .line 304
            new org.apache.commons.lang3.concurrent.ConcurrentRuntimeException
            dup
            aload 3 /* cex */
            invokevirtual org.apache.commons.lang3.concurrent.ConcurrentException.getCause:()Ljava/lang/Throwable;
            invokespecial org.apache.commons.lang3.concurrent.ConcurrentRuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // org.apache.commons.lang3.concurrent.ConcurrentException cex
        end local 2 // org.apache.commons.lang3.concurrent.ConcurrentInitializer init
        end local 1 // java.lang.Object key
        end local 0 // java.util.concurrent.ConcurrentMap map
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   map  Ljava/util/concurrent/ConcurrentMap<TK;TV;>;
            0    4     1   key  TK;
            0    4     2  init  Lorg/apache/commons/lang3/concurrent/ConcurrentInitializer<TV;>;
            3    4     3   cex  Lorg/apache/commons/lang3/concurrent/ConcurrentException;
      Exception table:
        from    to  target  type
           0     1       2  Class org.apache.commons.lang3.concurrent.ConcurrentException
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/concurrent/ConcurrentMap<TK;TV;>;TK;Lorg/apache/commons/lang3/concurrent/ConcurrentInitializer<TV;>;)TV;
    MethodParameters:
      Name  Flags
      map   final
      key   final
      init  final

  public static <T> java.util.concurrent.Future<T> constantFuture(T);
    descriptor: (Ljava/lang/Object;)Ljava/util/concurrent/Future;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 325
            new org.apache.commons.lang3.concurrent.ConcurrentUtils$ConstantFuture
            dup
            aload 0 /* value */
            invokespecial org.apache.commons.lang3.concurrent.ConcurrentUtils$ConstantFuture.<init>:(Ljava/lang/Object;)V
            areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  TT;
    Signature: <T:Ljava/lang/Object;>(TT;)Ljava/util/concurrent/Future<TT;>;
    MethodParameters:
       Name  Flags
      value  final
}
SourceFile: "ConcurrentUtils.java"
NestMembers:
  org.apache.commons.lang3.concurrent.ConcurrentUtils$ConstantFuture
InnerClasses:
  final ConstantFuture = org.apache.commons.lang3.concurrent.ConcurrentUtils$ConstantFuture of org.apache.commons.lang3.concurrent.ConcurrentUtils