public class org.apache.cassandra.utils.ExecutorUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.utils.ExecutorUtils
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.ExecutorUtils this
         0: .line 31
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.cassandra.utils.ExecutorUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/utils/ExecutorUtils;

  public static java.lang.Runnable runWithThreadName(java.lang.Runnable, java.lang.String);
    descriptor: (Ljava/lang/Runnable;Ljava/lang/String;)Ljava/lang/Runnable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Runnable runnable
        start local 1 // java.lang.String threadName
         0: .line 36
            aload 1 /* threadName */
            aload 0 /* runnable */
            invokedynamic run(Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  org/apache/cassandra/utils/ExecutorUtils.lambda$0(Ljava/lang/String;Ljava/lang/Runnable;)V (6)
                  ()V
            areturn
        end local 1 // java.lang.String threadName
        end local 0 // java.lang.Runnable runnable
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0    runnable  Ljava/lang/Runnable;
            0    1     1  threadName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      runnable    
      threadName  

  public static void shutdownNow(java.lang.Iterable<?>);
    descriptor: (Ljava/lang/Iterable;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Iterable executors
         0: .line 52
            iconst_1
            aload 0 /* executors */
            invokestatic org.apache.cassandra.utils.ExecutorUtils.shutdown:(ZLjava/lang/Iterable;)V
         1: .line 53
            return
        end local 0 // java.lang.Iterable executors
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  executors  Ljava/lang/Iterable<*>;
    Signature: (Ljava/lang/Iterable<*>;)V
    MethodParameters:
           Name  Flags
      executors  

  public static void shutdown(java.lang.Iterable<?>);
    descriptor: (Ljava/lang/Iterable;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Iterable executors
         0: .line 57
            iconst_0
            aload 0 /* executors */
            invokestatic org.apache.cassandra.utils.ExecutorUtils.shutdown:(ZLjava/lang/Iterable;)V
         1: .line 58
            return
        end local 0 // java.lang.Iterable executors
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  executors  Ljava/lang/Iterable<*>;
    Signature: (Ljava/lang/Iterable<*>;)V
    MethodParameters:
           Name  Flags
      executors  

  public static void shutdown(boolean, java.lang.Iterable<?>);
    descriptor: (ZLjava/lang/Iterable;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // boolean interrupt
        start local 1 // java.lang.Iterable executors
         0: .line 62
            aload 1 /* executors */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 12
      StackMap locals: int java.lang.Iterable top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 2 /* executor */
        start local 2 // java.lang.Object executor
         2: .line 64
            aload 2 /* executor */
            instanceof java.util.concurrent.ExecutorService
            ifeq 6
         3: .line 66
            iload 0 /* interrupt */
            ifeq 4
            aload 2 /* executor */
            checkcast java.util.concurrent.ExecutorService
            invokeinterface java.util.concurrent.ExecutorService.shutdownNow:()Ljava/util/List;
            pop
            goto 12
         4: .line 67
      StackMap locals: int java.lang.Iterable java.lang.Object java.util.Iterator
      StackMap stack:
            aload 2 /* executor */
            checkcast java.util.concurrent.ExecutorService
            invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
         5: .line 68
            goto 12
         6: .line 69
      StackMap locals:
      StackMap stack:
            aload 2 /* executor */
            instanceof org.apache.cassandra.concurrent.InfiniteLoopExecutor
            ifeq 8
         7: .line 70
            aload 2 /* executor */
            checkcast org.apache.cassandra.concurrent.InfiniteLoopExecutor
            invokevirtual org.apache.cassandra.concurrent.InfiniteLoopExecutor.shutdownNow:()V
            goto 12
         8: .line 71
      StackMap locals:
      StackMap stack:
            aload 2 /* executor */
            instanceof java.lang.Thread
            ifeq 10
         9: .line 72
            aload 2 /* executor */
            checkcast java.lang.Thread
            invokevirtual java.lang.Thread.interrupt:()V
            goto 12
        10: .line 73
      StackMap locals:
      StackMap stack:
            aload 2 /* executor */
            ifnull 12
        11: .line 74
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* executor */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.Object executor
        12: .line 62
      StackMap locals: int java.lang.Iterable top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        13: .line 76
            return
        end local 1 // java.lang.Iterable executors
        end local 0 // boolean interrupt
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0  interrupt  Z
            0   14     1  executors  Ljava/lang/Iterable<*>;
            2   12     2   executor  Ljava/lang/Object;
    Signature: (ZLjava/lang/Iterable<*>;)V
    MethodParameters:
           Name  Flags
      interrupt  
      executors  

  public static void shutdown(java.util.concurrent.ExecutorService[]);
    descriptor: ([Ljava/util/concurrent/ExecutorService;)V
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.ExecutorService[] executors
         0: .line 80
            aload 0 /* executors */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic org.apache.cassandra.utils.ExecutorUtils.shutdown:(Ljava/lang/Iterable;)V
         1: .line 81
            return
        end local 0 // java.util.concurrent.ExecutorService[] executors
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  executors  [Ljava/util/concurrent/ExecutorService;
    MethodParameters:
           Name  Flags
      executors  

  public static void shutdownNow(java.util.concurrent.ExecutorService[]);
    descriptor: ([Ljava/util/concurrent/ExecutorService;)V
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.ExecutorService[] executors
         0: .line 85
            aload 0 /* executors */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic org.apache.cassandra.utils.ExecutorUtils.shutdownNow:(Ljava/lang/Iterable;)V
         1: .line 86
            return
        end local 0 // java.util.concurrent.ExecutorService[] executors
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  executors  [Ljava/util/concurrent/ExecutorService;
    MethodParameters:
           Name  Flags
      executors  

  public static void awaitTermination(long, java.util.concurrent.TimeUnit, java.util.concurrent.ExecutorService[]);
    descriptor: (JLjava/util/concurrent/TimeUnit;[Ljava/util/concurrent/ExecutorService;)V
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // long timeout
        start local 2 // java.util.concurrent.TimeUnit unit
        start local 3 // java.util.concurrent.ExecutorService[] executors
         0: .line 90
            lload 0 /* timeout */
            aload 2 /* unit */
            aload 3 /* executors */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic org.apache.cassandra.utils.ExecutorUtils.awaitTermination:(JLjava/util/concurrent/TimeUnit;Ljava/util/Collection;)V
         1: .line 91
            return
        end local 3 // java.util.concurrent.ExecutorService[] executors
        end local 2 // java.util.concurrent.TimeUnit unit
        end local 0 // long timeout
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0    timeout  J
            0    2     2       unit  Ljava/util/concurrent/TimeUnit;
            0    2     3  executors  [Ljava/util/concurrent/ExecutorService;
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.TimeoutException
    MethodParameters:
           Name  Flags
      timeout    
      unit       
      executors  

  public static void awaitTermination(long, java.util.concurrent.TimeUnit, java.util.Collection<?>);
    descriptor: (JLjava/util/concurrent/TimeUnit;Ljava/util/Collection;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // long timeout
        start local 2 // java.util.concurrent.TimeUnit unit
        start local 3 // java.util.Collection executors
         0: .line 95
            invokestatic java.lang.System.nanoTime:()J
            aload 2 /* unit */
            lload 0 /* timeout */
            invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
            ladd
            lstore 4 /* deadline */
        start local 4 // long deadline
         1: .line 96
            lload 4 /* deadline */
            aload 3 /* executors */
            invokestatic org.apache.cassandra.utils.ExecutorUtils.awaitTerminationUntil:(JLjava/util/Collection;)V
         2: .line 97
            return
        end local 4 // long deadline
        end local 3 // java.util.Collection executors
        end local 2 // java.util.concurrent.TimeUnit unit
        end local 0 // long timeout
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0    timeout  J
            0    3     2       unit  Ljava/util/concurrent/TimeUnit;
            0    3     3  executors  Ljava/util/Collection<*>;
            1    3     4   deadline  J
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.TimeoutException
    Signature: (JLjava/util/concurrent/TimeUnit;Ljava/util/Collection<*>;)V
    MethodParameters:
           Name  Flags
      timeout    
      unit       
      executors  

  public static void awaitTerminationUntil(long, java.util.Collection<?>);
    descriptor: (JLjava/util/Collection;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // long deadline
        start local 2 // java.util.Collection executors
         0: .line 101
            aload 2 /* executors */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 18
      StackMap locals: long java.util.Collection top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* executor */
        start local 3 // java.lang.Object executor
         2: .line 103
            lload 0 /* deadline */
            invokestatic java.lang.System.nanoTime:()J
            lsub
            lstore 5 /* wait */
        start local 5 // long wait
         3: .line 104
            aload 3 /* executor */
            instanceof java.util.concurrent.ExecutorService
            ifeq 6
         4: .line 106
            lload 5 /* wait */
            lconst_0
            lcmp
            ifle 5
            aload 3 /* executor */
            checkcast java.util.concurrent.ExecutorService
            lload 5 /* wait */
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokeinterface java.util.concurrent.ExecutorService.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
            ifne 18
         5: .line 107
      StackMap locals: long java.util.Collection java.lang.Object java.util.Iterator long
      StackMap stack:
            new java.util.concurrent.TimeoutException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 3 /* executor */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " did not terminate on time"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.util.concurrent.TimeoutException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 109
      StackMap locals:
      StackMap stack:
            aload 3 /* executor */
            instanceof org.apache.cassandra.concurrent.InfiniteLoopExecutor
            ifeq 9
         7: .line 111
            lload 5 /* wait */
            lconst_0
            lcmp
            ifle 8
            aload 3 /* executor */
            checkcast org.apache.cassandra.concurrent.InfiniteLoopExecutor
            lload 5 /* wait */
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual org.apache.cassandra.concurrent.InfiniteLoopExecutor.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
            ifne 18
         8: .line 112
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.TimeoutException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 3 /* executor */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " did not terminate on time"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.util.concurrent.TimeoutException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 114
      StackMap locals:
      StackMap stack:
            aload 3 /* executor */
            instanceof java.lang.Thread
            ifeq 16
        10: .line 116
            aload 3 /* executor */
            checkcast java.lang.Thread
            astore 7 /* t */
        start local 7 // java.lang.Thread t
        11: .line 117
            lload 5 /* wait */
            lconst_0
            lcmp
            ifgt 13
        12: .line 118
            new java.util.concurrent.TimeoutException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 3 /* executor */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " did not terminate on time"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.util.concurrent.TimeoutException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 119
      StackMap locals: java.lang.Thread
      StackMap stack:
            aload 7 /* t */
            lload 5 /* wait */
            ldc 999999
            ladd
            ldc 1000000
            ldiv
            lload 5 /* wait */
            ldc 1000000
            lrem
            l2i
            invokevirtual java.lang.Thread.join:(JI)V
        14: .line 120
            aload 7 /* t */
            invokevirtual java.lang.Thread.isAlive:()Z
            ifeq 18
        15: .line 121
            new java.util.concurrent.TimeoutException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 3 /* executor */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " did not terminate on time"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.util.concurrent.TimeoutException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.lang.Thread t
        16: .line 123
      StackMap locals:
      StackMap stack:
            aload 3 /* executor */
            ifnull 18
        17: .line 125
            new java.lang.IllegalArgumentException
            dup
            aload 3 /* executor */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // long wait
        end local 3 // java.lang.Object executor
        18: .line 101
      StackMap locals: long java.util.Collection top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        19: .line 128
            return
        end local 2 // java.util.Collection executors
        end local 0 // long deadline
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0   deadline  J
            0   20     2  executors  Ljava/util/Collection<*>;
            2   18     3   executor  Ljava/lang/Object;
            3   18     5       wait  J
           11   16     7          t  Ljava/lang/Thread;
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.TimeoutException
    Signature: (JLjava/util/Collection<*>;)V
    MethodParameters:
           Name  Flags
      deadline   
      executors  

  public static void shutdownAndWait(long, java.util.concurrent.TimeUnit, java.util.Collection<?>);
    descriptor: (JLjava/util/concurrent/TimeUnit;Ljava/util/Collection;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // long timeout
        start local 2 // java.util.concurrent.TimeUnit unit
        start local 3 // java.util.Collection executors
         0: .line 132
            aload 3 /* executors */
            invokestatic org.apache.cassandra.utils.ExecutorUtils.shutdown:(Ljava/lang/Iterable;)V
         1: .line 133
            lload 0 /* timeout */
            aload 2 /* unit */
            aload 3 /* executors */
            invokestatic org.apache.cassandra.utils.ExecutorUtils.awaitTermination:(JLjava/util/concurrent/TimeUnit;Ljava/util/Collection;)V
         2: .line 134
            return
        end local 3 // java.util.Collection executors
        end local 2 // java.util.concurrent.TimeUnit unit
        end local 0 // long timeout
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0    timeout  J
            0    3     2       unit  Ljava/util/concurrent/TimeUnit;
            0    3     3  executors  Ljava/util/Collection<*>;
    Exceptions:
      throws java.util.concurrent.TimeoutException, java.lang.InterruptedException
    Signature: (JLjava/util/concurrent/TimeUnit;Ljava/util/Collection<*>;)V
    MethodParameters:
           Name  Flags
      timeout    
      unit       
      executors  

  public static void shutdownNowAndWait(long, java.util.concurrent.TimeUnit, java.util.Collection<?>);
    descriptor: (JLjava/util/concurrent/TimeUnit;Ljava/util/Collection;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // long timeout
        start local 2 // java.util.concurrent.TimeUnit unit
        start local 3 // java.util.Collection executors
         0: .line 138
            aload 3 /* executors */
            invokestatic org.apache.cassandra.utils.ExecutorUtils.shutdownNow:(Ljava/lang/Iterable;)V
         1: .line 139
            lload 0 /* timeout */
            aload 2 /* unit */
            aload 3 /* executors */
            invokestatic org.apache.cassandra.utils.ExecutorUtils.awaitTermination:(JLjava/util/concurrent/TimeUnit;Ljava/util/Collection;)V
         2: .line 140
            return
        end local 3 // java.util.Collection executors
        end local 2 // java.util.concurrent.TimeUnit unit
        end local 0 // long timeout
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0    timeout  J
            0    3     2       unit  Ljava/util/concurrent/TimeUnit;
            0    3     3  executors  Ljava/util/Collection<*>;
    Exceptions:
      throws java.util.concurrent.TimeoutException, java.lang.InterruptedException
    Signature: (JLjava/util/concurrent/TimeUnit;Ljava/util/Collection<*>;)V
    MethodParameters:
           Name  Flags
      timeout    
      unit       
      executors  

  public static void shutdownAndWait(long, java.util.concurrent.TimeUnit, java.lang.Object[]);
    descriptor: (JLjava/util/concurrent/TimeUnit;[Ljava/lang/Object;)V
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // long timeout
        start local 2 // java.util.concurrent.TimeUnit unit
        start local 3 // java.lang.Object[] executors
         0: .line 144
            lload 0 /* timeout */
            aload 2 /* unit */
            aload 3 /* executors */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic org.apache.cassandra.utils.ExecutorUtils.shutdownAndWait:(JLjava/util/concurrent/TimeUnit;Ljava/util/Collection;)V
         1: .line 145
            return
        end local 3 // java.lang.Object[] executors
        end local 2 // java.util.concurrent.TimeUnit unit
        end local 0 // long timeout
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0    timeout  J
            0    2     2       unit  Ljava/util/concurrent/TimeUnit;
            0    2     3  executors  [Ljava/lang/Object;
    Exceptions:
      throws java.util.concurrent.TimeoutException, java.lang.InterruptedException
    MethodParameters:
           Name  Flags
      timeout    
      unit       
      executors  

  public static void shutdownNowAndWait(long, java.util.concurrent.TimeUnit, java.lang.Object[]);
    descriptor: (JLjava/util/concurrent/TimeUnit;[Ljava/lang/Object;)V
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // long timeout
        start local 2 // java.util.concurrent.TimeUnit unit
        start local 3 // java.lang.Object[] executors
         0: .line 149
            lload 0 /* timeout */
            aload 2 /* unit */
            aload 3 /* executors */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic org.apache.cassandra.utils.ExecutorUtils.shutdownNowAndWait:(JLjava/util/concurrent/TimeUnit;Ljava/util/Collection;)V
         1: .line 150
            return
        end local 3 // java.lang.Object[] executors
        end local 2 // java.util.concurrent.TimeUnit unit
        end local 0 // long timeout
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0    timeout  J
            0    2     2       unit  Ljava/util/concurrent/TimeUnit;
            0    2     3  executors  [Ljava/lang/Object;
    Exceptions:
      throws java.util.concurrent.TimeoutException, java.lang.InterruptedException
    MethodParameters:
           Name  Flags
      timeout    
      unit       
      executors  

  private static void lambda$0(java.lang.String, java.lang.Runnable);
    descriptor: (Ljava/lang/String;Ljava/lang/Runnable;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=2
         0: .line 37
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
            astore 2 /* oldThreadName */
        start local 2 // java.lang.String oldThreadName
         1: .line 40
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 0
            invokevirtual java.lang.Thread.setName:(Ljava/lang/String;)V
         2: .line 41
            aload 1
            invokeinterface java.lang.Runnable.run:()V
         3: .line 42
            goto 7
         4: .line 44
      StackMap locals: java.lang.String java.lang.Runnable java.lang.String
      StackMap stack: java.lang.Throwable
            astore 3
         5: .line 45
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 2 /* oldThreadName */
            invokevirtual java.lang.Thread.setName:(Ljava/lang/String;)V
         6: .line 46
            aload 3
            athrow
         7: .line 45
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 2 /* oldThreadName */
            invokevirtual java.lang.Thread.setName:(Ljava/lang/String;)V
        end local 2 // java.lang.String oldThreadName
         8: .line 47
            return
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            1    8     2  oldThreadName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     4       4  any
}
SourceFile: "ExecutorUtils.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles