public abstract class reactor.core.scheduler.Schedulers
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: reactor.core.scheduler.Schedulers
  super_class: java.lang.Object
{
  public static final int DEFAULT_POOL_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static volatile java.util.function.BiConsumer<java.lang.Thread, ? super java.lang.Throwable> onHandleErrorHook;
    descriptor: Ljava/util/function/BiConsumer;
    flags: (0x0048) ACC_STATIC, ACC_VOLATILE
    Signature: Ljava/util/function/BiConsumer<Ljava/lang/Thread;-Ljava/lang/Throwable;>;

  static final java.lang.String ELASTIC;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "elastic"

  static final java.lang.String PARALLEL;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "parallel"

  static final java.lang.String SINGLE;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "single"

  static final java.lang.String IMMEDIATE;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "immediate"

  static final java.lang.String FROM_EXECUTOR;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "fromExecutor"

  static final java.lang.String FROM_EXECUTOR_SERVICE;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "fromExecutorService"

  static java.util.concurrent.atomic.AtomicReference<reactor.core.scheduler.Schedulers$CachedScheduler> CACHED_ELASTIC;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0008) ACC_STATIC
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Lreactor/core/scheduler/Schedulers$CachedScheduler;>;

  static java.util.concurrent.atomic.AtomicReference<reactor.core.scheduler.Schedulers$CachedScheduler> CACHED_PARALLEL;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0008) ACC_STATIC
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Lreactor/core/scheduler/Schedulers$CachedScheduler;>;

  static java.util.concurrent.atomic.AtomicReference<reactor.core.scheduler.Schedulers$CachedScheduler> CACHED_SINGLE;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0008) ACC_STATIC
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Lreactor/core/scheduler/Schedulers$CachedScheduler;>;

  static final java.util.function.Supplier<reactor.core.scheduler.Scheduler> ELASTIC_SUPPLIER;
    descriptor: Ljava/util/function/Supplier;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Supplier<Lreactor/core/scheduler/Scheduler;>;

  static final java.util.function.Supplier<reactor.core.scheduler.Scheduler> PARALLEL_SUPPLIER;
    descriptor: Ljava/util/function/Supplier;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Supplier<Lreactor/core/scheduler/Scheduler;>;

  static final java.util.function.Supplier<reactor.core.scheduler.Scheduler> SINGLE_SUPPLIER;
    descriptor: Ljava/util/function/Supplier;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Supplier<Lreactor/core/scheduler/Scheduler;>;

  static final reactor.core.scheduler.Schedulers$Factory DEFAULT;
    descriptor: Lreactor/core/scheduler/Schedulers$Factory;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static volatile reactor.core.scheduler.Schedulers$Factory factory;
    descriptor: Lreactor/core/scheduler/Schedulers$Factory;
    flags: (0x0048) ACC_STATIC, ACC_VOLATILE

  static final reactor.util.Logger log;
    descriptor: Lreactor/util/Logger;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 67
            ldc "reactor.schedulers.defaultPoolSize"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
         1: .line 68
            invokedynamic apply()Ljava/util/function/Function;
              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:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/Integer.parseInt(Ljava/lang/String;)I (6)
                  (Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
         2: .line 69
            invokedynamic get()Ljava/util/function/Supplier;
              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:
                  ()Ljava/lang/Object;
                  reactor/core/scheduler/Schedulers.lambda$1()Ljava/lang/Integer; (6)
                  ()Ljava/lang/Integer;
            invokevirtual java.util.Optional.orElseGet:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
         3: .line 66
            putstatic reactor.core.scheduler.Schedulers.DEFAULT_POOL_SIZE:I
         4: .line 526
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            putstatic reactor.core.scheduler.Schedulers.CACHED_ELASTIC:Ljava/util/concurrent/atomic/AtomicReference;
         5: .line 527
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            putstatic reactor.core.scheduler.Schedulers.CACHED_PARALLEL:Ljava/util/concurrent/atomic/AtomicReference;
         6: .line 528
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            putstatic reactor.core.scheduler.Schedulers.CACHED_SINGLE:Ljava/util/concurrent/atomic/AtomicReference;
         7: .line 531
            invokedynamic get()Ljava/util/function/Supplier;
              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:
                  ()Ljava/lang/Object;
                  reactor/core/scheduler/Schedulers.lambda$2()Lreactor/core/scheduler/Scheduler; (6)
                  ()Lreactor/core/scheduler/Scheduler;
         8: .line 530
            putstatic reactor.core.scheduler.Schedulers.ELASTIC_SUPPLIER:Ljava/util/function/Supplier;
         9: .line 534
            invokedynamic get()Ljava/util/function/Supplier;
              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:
                  ()Ljava/lang/Object;
                  reactor/core/scheduler/Schedulers.lambda$3()Lreactor/core/scheduler/Scheduler; (6)
                  ()Lreactor/core/scheduler/Scheduler;
        10: .line 533
            putstatic reactor.core.scheduler.Schedulers.PARALLEL_SUPPLIER:Ljava/util/function/Supplier;
        11: .line 536
            invokedynamic get()Ljava/util/function/Supplier;
              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:
                  ()Ljava/lang/Object;
                  reactor/core/scheduler/Schedulers.lambda$4()Lreactor/core/scheduler/Scheduler; (6)
                  ()Lreactor/core/scheduler/Scheduler;
            putstatic reactor.core.scheduler.Schedulers.SINGLE_SUPPLIER:Ljava/util/function/Supplier;
        12: .line 538
            new reactor.core.scheduler.Schedulers$1
            dup
            invokespecial reactor.core.scheduler.Schedulers$1.<init>:()V
            putstatic reactor.core.scheduler.Schedulers.DEFAULT:Lreactor/core/scheduler/Schedulers$Factory;
        13: .line 541
            getstatic reactor.core.scheduler.Schedulers.DEFAULT:Lreactor/core/scheduler/Schedulers$Factory;
            putstatic reactor.core.scheduler.Schedulers.factory:Lreactor/core/scheduler/Schedulers$Factory;
        14: .line 570
            ldc Lreactor/core/scheduler/Schedulers;
            invokestatic reactor.util.Loggers.getLogger:(Ljava/lang/Class;)Lreactor/util/Logger;
            putstatic reactor.core.scheduler.Schedulers.log:Lreactor/util/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // reactor.core.scheduler.Schedulers this
         0: .line 58
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // reactor.core.scheduler.Schedulers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lreactor/core/scheduler/Schedulers;

  public static reactor.core.scheduler.Scheduler fromExecutor(java.util.concurrent.Executor);
    descriptor: (Ljava/util/concurrent/Executor;)Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.concurrent.Executor executor
         0: .line 82
            aload 0 /* executor */
            iconst_0
            invokestatic reactor.core.scheduler.Schedulers.fromExecutor:(Ljava/util/concurrent/Executor;Z)Lreactor/core/scheduler/Scheduler;
            areturn
        end local 0 // java.util.concurrent.Executor executor
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  executor  Ljava/util/concurrent/Executor;
    MethodParameters:
          Name  Flags
      executor  

  public static reactor.core.scheduler.Scheduler fromExecutor(java.util.concurrent.Executor, boolean);
    descriptor: (Ljava/util/concurrent/Executor;Z)Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.concurrent.Executor executor
        start local 1 // boolean trampoline
         0: .line 96
            iload 1 /* trampoline */
            ifne 2
            aload 0 /* executor */
            instanceof java.util.concurrent.ExecutorService
            ifeq 2
         1: .line 97
            aload 0 /* executor */
            checkcast java.util.concurrent.ExecutorService
            invokestatic reactor.core.scheduler.Schedulers.fromExecutorService:(Ljava/util/concurrent/ExecutorService;)Lreactor/core/scheduler/Scheduler;
            areturn
         2: .line 99
      StackMap locals:
      StackMap stack:
            new reactor.core.scheduler.ExecutorScheduler
            dup
            aload 0 /* executor */
            iload 1 /* trampoline */
            invokespecial reactor.core.scheduler.ExecutorScheduler.<init>:(Ljava/util/concurrent/Executor;Z)V
            areturn
        end local 1 // boolean trampoline
        end local 0 // java.util.concurrent.Executor executor
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0    executor  Ljava/util/concurrent/Executor;
            0    3     1  trampoline  Z
    MethodParameters:
            Name  Flags
      executor    
      trampoline  

  public static reactor.core.scheduler.Scheduler fromExecutorService(java.util.concurrent.ExecutorService);
    descriptor: (Ljava/util/concurrent/ExecutorService;)Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.concurrent.ExecutorService executorService
         0: .line 111
            new reactor.core.scheduler.DelegateServiceScheduler
            dup
            aload 0 /* executorService */
            invokespecial reactor.core.scheduler.DelegateServiceScheduler.<init>:(Ljava/util/concurrent/ExecutorService;)V
            areturn
        end local 0 // java.util.concurrent.ExecutorService executorService
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0  executorService  Ljava/util/concurrent/ExecutorService;
    MethodParameters:
                 Name  Flags
      executorService  

  public static reactor.core.scheduler.Scheduler elastic();
    descriptor: ()Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 129
            getstatic reactor.core.scheduler.Schedulers.CACHED_ELASTIC:Ljava/util/concurrent/atomic/AtomicReference;
            ldc "elastic"
            getstatic reactor.core.scheduler.Schedulers.ELASTIC_SUPPLIER:Ljava/util/function/Supplier;
            invokestatic reactor.core.scheduler.Schedulers.cache:(Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/String;Ljava/util/function/Supplier;)Lreactor/core/scheduler/Schedulers$CachedScheduler;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static reactor.core.scheduler.Scheduler parallel();
    descriptor: ()Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 140
            getstatic reactor.core.scheduler.Schedulers.CACHED_PARALLEL:Ljava/util/concurrent/atomic/AtomicReference;
            ldc "parallel"
            getstatic reactor.core.scheduler.Schedulers.PARALLEL_SUPPLIER:Ljava/util/function/Supplier;
            invokestatic reactor.core.scheduler.Schedulers.cache:(Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/String;Ljava/util/function/Supplier;)Lreactor/core/scheduler/Schedulers$CachedScheduler;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static reactor.core.scheduler.Scheduler immediate();
    descriptor: ()Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 149
            invokestatic reactor.core.scheduler.ImmediateScheduler.instance:()Lreactor/core/scheduler/Scheduler;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static reactor.core.scheduler.Scheduler newElastic(java.lang.String);
    descriptor: (Ljava/lang/String;)Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 169
            aload 0 /* name */
            bipush 60
            invokestatic reactor.core.scheduler.Schedulers.newElastic:(Ljava/lang/String;I)Lreactor/core/scheduler/Scheduler;
            areturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public static reactor.core.scheduler.Scheduler newElastic(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // int ttlSeconds
         0: .line 187
            aload 0 /* name */
            iload 1 /* ttlSeconds */
            iconst_0
            invokestatic reactor.core.scheduler.Schedulers.newElastic:(Ljava/lang/String;IZ)Lreactor/core/scheduler/Scheduler;
            areturn
        end local 1 // int ttlSeconds
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        name  Ljava/lang/String;
            0    1     1  ttlSeconds  I
    MethodParameters:
            Name  Flags
      name        
      ttlSeconds  

  public static reactor.core.scheduler.Scheduler newElastic(java.lang.String, int, boolean);
    descriptor: (Ljava/lang/String;IZ)Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // java.lang.String name
        start local 1 // int ttlSeconds
        start local 2 // boolean daemon
         0: .line 207
            iload 1 /* ttlSeconds */
         1: .line 208
            new reactor.core.scheduler.ReactorThreadFactory
            dup
            aload 0 /* name */
            getstatic reactor.core.scheduler.ElasticScheduler.COUNTER:Ljava/util/concurrent/atomic/AtomicLong;
            iload 2 /* daemon */
            iconst_0
         2: .line 209
            invokedynamic accept()Ljava/util/function/BiConsumer;
              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:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  reactor/core/scheduler/Schedulers.defaultUncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V (6)
                  (Ljava/lang/Thread;Ljava/lang/Throwable;)V
         3: .line 208
            invokespecial reactor.core.scheduler.ReactorThreadFactory.<init>:(Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicLong;ZZLjava/util/function/BiConsumer;)V
         4: .line 207
            invokestatic reactor.core.scheduler.Schedulers.newElastic:(ILjava/util/concurrent/ThreadFactory;)Lreactor/core/scheduler/Scheduler;
            areturn
        end local 2 // boolean daemon
        end local 1 // int ttlSeconds
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        name  Ljava/lang/String;
            0    5     1  ttlSeconds  I
            0    5     2      daemon  Z
    MethodParameters:
            Name  Flags
      name        
      ttlSeconds  
      daemon      

  public static reactor.core.scheduler.Scheduler newElastic(int, java.util.concurrent.ThreadFactory);
    descriptor: (ILjava/util/concurrent/ThreadFactory;)Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // int ttlSeconds
        start local 1 // java.util.concurrent.ThreadFactory threadFactory
         0: .line 228
            getstatic reactor.core.scheduler.Schedulers.factory:Lreactor/core/scheduler/Schedulers$Factory;
            iload 0 /* ttlSeconds */
            aload 1 /* threadFactory */
            invokeinterface reactor.core.scheduler.Schedulers$Factory.newElastic:(ILjava/util/concurrent/ThreadFactory;)Lreactor/core/scheduler/Scheduler;
            areturn
        end local 1 // java.util.concurrent.ThreadFactory threadFactory
        end local 0 // int ttlSeconds
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0     ttlSeconds  I
            0    1     1  threadFactory  Ljava/util/concurrent/ThreadFactory;
    MethodParameters:
               Name  Flags
      ttlSeconds     
      threadFactory  

  public static reactor.core.scheduler.Scheduler newParallel(java.lang.String);
    descriptor: (Ljava/lang/String;)Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 242
            aload 0 /* name */
            getstatic reactor.core.scheduler.Schedulers.DEFAULT_POOL_SIZE:I
            invokestatic reactor.core.scheduler.Schedulers.newParallel:(Ljava/lang/String;I)Lreactor/core/scheduler/Scheduler;
            areturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public static reactor.core.scheduler.Scheduler newParallel(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // int parallelism
         0: .line 257
            aload 0 /* name */
            iload 1 /* parallelism */
            iconst_0
            invokestatic reactor.core.scheduler.Schedulers.newParallel:(Ljava/lang/String;IZ)Lreactor/core/scheduler/Scheduler;
            areturn
        end local 1 // int parallelism
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         name  Ljava/lang/String;
            0    1     1  parallelism  I
    MethodParameters:
             Name  Flags
      name         
      parallelism  

  public static reactor.core.scheduler.Scheduler newParallel(java.lang.String, int, boolean);
    descriptor: (Ljava/lang/String;IZ)Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // java.lang.String name
        start local 1 // int parallelism
        start local 2 // boolean daemon
         0: .line 274
            iload 1 /* parallelism */
         1: .line 275
            new reactor.core.scheduler.ReactorThreadFactory
            dup
            aload 0 /* name */
            getstatic reactor.core.scheduler.ParallelScheduler.COUNTER:Ljava/util/concurrent/atomic/AtomicLong;
            iload 2 /* daemon */
         2: .line 276
            iconst_1
            invokedynamic accept()Ljava/util/function/BiConsumer;
              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:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  reactor/core/scheduler/Schedulers.defaultUncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V (6)
                  (Ljava/lang/Thread;Ljava/lang/Throwable;)V
         3: .line 275
            invokespecial reactor.core.scheduler.ReactorThreadFactory.<init>:(Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicLong;ZZLjava/util/function/BiConsumer;)V
         4: .line 274
            invokestatic reactor.core.scheduler.Schedulers.newParallel:(ILjava/util/concurrent/ThreadFactory;)Lreactor/core/scheduler/Scheduler;
            areturn
        end local 2 // boolean daemon
        end local 1 // int parallelism
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         name  Ljava/lang/String;
            0    5     1  parallelism  I
            0    5     2       daemon  Z
    MethodParameters:
             Name  Flags
      name         
      parallelism  
      daemon       

  public static reactor.core.scheduler.Scheduler newParallel(int, java.util.concurrent.ThreadFactory);
    descriptor: (ILjava/util/concurrent/ThreadFactory;)Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // int parallelism
        start local 1 // java.util.concurrent.ThreadFactory threadFactory
         0: .line 291
            getstatic reactor.core.scheduler.Schedulers.factory:Lreactor/core/scheduler/Schedulers$Factory;
            iload 0 /* parallelism */
            aload 1 /* threadFactory */
            invokeinterface reactor.core.scheduler.Schedulers$Factory.newParallel:(ILjava/util/concurrent/ThreadFactory;)Lreactor/core/scheduler/Scheduler;
            areturn
        end local 1 // java.util.concurrent.ThreadFactory threadFactory
        end local 0 // int parallelism
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0    parallelism  I
            0    1     1  threadFactory  Ljava/util/concurrent/ThreadFactory;
    MethodParameters:
               Name  Flags
      parallelism    
      threadFactory  

  public static reactor.core.scheduler.Scheduler newSingle(java.lang.String);
    descriptor: (Ljava/lang/String;)Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 305
            aload 0 /* name */
            iconst_0
            invokestatic reactor.core.scheduler.Schedulers.newSingle:(Ljava/lang/String;Z)Lreactor/core/scheduler/Scheduler;
            areturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public static reactor.core.scheduler.Scheduler newSingle(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // boolean daemon
         0: .line 321
            new reactor.core.scheduler.ReactorThreadFactory
            dup
            aload 0 /* name */
            getstatic reactor.core.scheduler.SingleScheduler.COUNTER:Ljava/util/concurrent/atomic/AtomicLong;
            iload 1 /* daemon */
         1: .line 322
            iconst_1
            invokedynamic accept()Ljava/util/function/BiConsumer;
              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:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  reactor/core/scheduler/Schedulers.defaultUncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V (6)
                  (Ljava/lang/Thread;Ljava/lang/Throwable;)V
         2: .line 321
            invokespecial reactor.core.scheduler.ReactorThreadFactory.<init>:(Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicLong;ZZLjava/util/function/BiConsumer;)V
            invokestatic reactor.core.scheduler.Schedulers.newSingle:(Ljava/util/concurrent/ThreadFactory;)Lreactor/core/scheduler/Scheduler;
            areturn
        end local 1 // boolean daemon
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    name  Ljava/lang/String;
            0    3     1  daemon  Z
    MethodParameters:
        Name  Flags
      name    
      daemon  

  public static reactor.core.scheduler.Scheduler newSingle(java.util.concurrent.ThreadFactory);
    descriptor: (Ljava/util/concurrent/ThreadFactory;)Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.concurrent.ThreadFactory threadFactory
         0: .line 336
            getstatic reactor.core.scheduler.Schedulers.factory:Lreactor/core/scheduler/Schedulers$Factory;
            aload 0 /* threadFactory */
            invokeinterface reactor.core.scheduler.Schedulers$Factory.newSingle:(Ljava/util/concurrent/ThreadFactory;)Lreactor/core/scheduler/Scheduler;
            areturn
        end local 0 // java.util.concurrent.ThreadFactory threadFactory
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0  threadFactory  Ljava/util/concurrent/ThreadFactory;
    MethodParameters:
               Name  Flags
      threadFactory  

  public static void onHandleError(java.util.function.BiConsumer<java.lang.Thread, ? super java.lang.Throwable>);
    descriptor: (Ljava/util/function/BiConsumer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.function.BiConsumer c
         0: .line 348
            getstatic reactor.core.scheduler.Schedulers.log:Lreactor/util/Logger;
            invokeinterface reactor.util.Logger.isDebugEnabled:()Z
            ifeq 2
         1: .line 349
            getstatic reactor.core.scheduler.Schedulers.log:Lreactor/util/Logger;
            ldc "Hooking new default: onHandleError"
            invokeinterface reactor.util.Logger.debug:(Ljava/lang/String;)V
         2: .line 351
      StackMap locals:
      StackMap stack:
            aload 0 /* c */
            ldc "onHandleError"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.util.function.BiConsumer
            putstatic reactor.core.scheduler.Schedulers.onHandleErrorHook:Ljava/util/function/BiConsumer;
         3: .line 352
            return
        end local 0 // java.util.function.BiConsumer c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     c  Ljava/util/function/BiConsumer<Ljava/lang/Thread;-Ljava/lang/Throwable;>;
    Signature: (Ljava/util/function/BiConsumer<Ljava/lang/Thread;-Ljava/lang/Throwable;>;)V
    MethodParameters:
      Name  Flags
      c     

  public static boolean isInNonBlockingThread();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 362
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            instanceof reactor.core.scheduler.NonBlocking
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean isNonBlockingThread(java.lang.Thread);
    descriptor: (Ljava/lang/Thread;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Thread t
         0: .line 373
            aload 0 /* t */
            instanceof reactor.core.scheduler.NonBlocking
            ireturn
        end local 0 // java.lang.Thread t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Ljava/lang/Thread;
    MethodParameters:
      Name  Flags
      t     

  public static void resetFactory();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 380
            getstatic reactor.core.scheduler.Schedulers.DEFAULT:Lreactor/core/scheduler/Schedulers$Factory;
            invokestatic reactor.core.scheduler.Schedulers.setFactory:(Lreactor/core/scheduler/Schedulers$Factory;)V
         1: .line 381
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void resetOnHandleError();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 387
            getstatic reactor.core.scheduler.Schedulers.log:Lreactor/util/Logger;
            invokeinterface reactor.util.Logger.isDebugEnabled:()Z
            ifeq 2
         1: .line 388
            getstatic reactor.core.scheduler.Schedulers.log:Lreactor/util/Logger;
            ldc "Reset to factory defaults: onHandleError"
            invokeinterface reactor.util.Logger.debug:(Ljava/lang/String;)V
         2: .line 390
      StackMap locals:
      StackMap stack:
            aconst_null
            putstatic reactor.core.scheduler.Schedulers.onHandleErrorHook:Ljava/util/function/BiConsumer;
         3: .line 391
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void setFactory(reactor.core.scheduler.Schedulers$Factory);
    descriptor: (Lreactor/core/scheduler/Schedulers$Factory;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // reactor.core.scheduler.Schedulers$Factory factoryInstance
         0: .line 405
            aload 0 /* factoryInstance */
            ldc "factoryInstance"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 406
            invokestatic reactor.core.scheduler.Schedulers.shutdownNow:()V
         2: .line 407
            aload 0 /* factoryInstance */
            putstatic reactor.core.scheduler.Schedulers.factory:Lreactor/core/scheduler/Schedulers$Factory;
         3: .line 408
            return
        end local 0 // reactor.core.scheduler.Schedulers$Factory factoryInstance
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0  factoryInstance  Lreactor/core/scheduler/Schedulers$Factory;
    MethodParameters:
                 Name  Flags
      factoryInstance  

  public static void shutdownNow();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=0
         0: .line 414
            getstatic reactor.core.scheduler.Schedulers.CACHED_ELASTIC:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast reactor.core.scheduler.Schedulers$CachedScheduler
            astore 0 /* oldElastic */
        start local 0 // reactor.core.scheduler.Schedulers$CachedScheduler oldElastic
         1: .line 415
            getstatic reactor.core.scheduler.Schedulers.CACHED_PARALLEL:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast reactor.core.scheduler.Schedulers$CachedScheduler
            astore 1 /* oldParallel */
        start local 1 // reactor.core.scheduler.Schedulers$CachedScheduler oldParallel
         2: .line 416
            getstatic reactor.core.scheduler.Schedulers.CACHED_SINGLE:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast reactor.core.scheduler.Schedulers$CachedScheduler
            astore 2 /* oldSingle */
        start local 2 // reactor.core.scheduler.Schedulers$CachedScheduler oldSingle
         3: .line 418
            aload 0 /* oldElastic */
            ifnull 4
            aload 0 /* oldElastic */
            invokevirtual reactor.core.scheduler.Schedulers$CachedScheduler._dispose:()V
         4: .line 419
      StackMap locals: reactor.core.scheduler.Schedulers$CachedScheduler reactor.core.scheduler.Schedulers$CachedScheduler reactor.core.scheduler.Schedulers$CachedScheduler
      StackMap stack:
            aload 1 /* oldParallel */
            ifnull 5
            aload 1 /* oldParallel */
            invokevirtual reactor.core.scheduler.Schedulers$CachedScheduler._dispose:()V
         5: .line 420
      StackMap locals:
      StackMap stack:
            aload 2 /* oldSingle */
            ifnull 6
            aload 2 /* oldSingle */
            invokevirtual reactor.core.scheduler.Schedulers$CachedScheduler._dispose:()V
         6: .line 421
      StackMap locals:
      StackMap stack:
            return
        end local 2 // reactor.core.scheduler.Schedulers$CachedScheduler oldSingle
        end local 1 // reactor.core.scheduler.Schedulers$CachedScheduler oldParallel
        end local 0 // reactor.core.scheduler.Schedulers$CachedScheduler oldElastic
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            1    7     0   oldElastic  Lreactor/core/scheduler/Schedulers$CachedScheduler;
            2    7     1  oldParallel  Lreactor/core/scheduler/Schedulers$CachedScheduler;
            3    7     2    oldSingle  Lreactor/core/scheduler/Schedulers$CachedScheduler;

  public static reactor.core.scheduler.Scheduler single();
    descriptor: ()Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 431
            getstatic reactor.core.scheduler.Schedulers.CACHED_SINGLE:Ljava/util/concurrent/atomic/AtomicReference;
            ldc "single"
            getstatic reactor.core.scheduler.Schedulers.SINGLE_SUPPLIER:Ljava/util/function/Supplier;
            invokestatic reactor.core.scheduler.Schedulers.cache:(Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/String;Ljava/util/function/Supplier;)Lreactor/core/scheduler/Schedulers$CachedScheduler;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static reactor.core.scheduler.Scheduler single(reactor.core.scheduler.Scheduler);
    descriptor: (Lreactor/core/scheduler/Scheduler;)Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // reactor.core.scheduler.Scheduler original
         0: .line 448
            new reactor.core.scheduler.SingleWorkerScheduler
            dup
            aload 0 /* original */
            invokespecial reactor.core.scheduler.SingleWorkerScheduler.<init>:(Lreactor/core/scheduler/Scheduler;)V
            areturn
        end local 0 // reactor.core.scheduler.Scheduler original
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  original  Lreactor/core/scheduler/Scheduler;
    MethodParameters:
          Name  Flags
      original  

  static reactor.core.scheduler.Schedulers$CachedScheduler cache(java.util.concurrent.atomic.AtomicReference<reactor.core.scheduler.Schedulers$CachedScheduler>, java.lang.String, java.util.function.Supplier<reactor.core.scheduler.Scheduler>);
    descriptor: (Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/String;Ljava/util/function/Supplier;)Lreactor/core/scheduler/Schedulers$CachedScheduler;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.util.concurrent.atomic.AtomicReference reference
        start local 1 // java.lang.String key
        start local 2 // java.util.function.Supplier supplier
         0: .line 556
            aload 0 /* reference */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast reactor.core.scheduler.Schedulers$CachedScheduler
            astore 3 /* s */
        start local 3 // reactor.core.scheduler.Schedulers$CachedScheduler s
         1: .line 557
            aload 3 /* s */
            ifnull 3
         2: .line 558
            aload 3 /* s */
            areturn
         3: .line 560
      StackMap locals: reactor.core.scheduler.Schedulers$CachedScheduler
      StackMap stack:
            new reactor.core.scheduler.Schedulers$CachedScheduler
            dup
            aload 1 /* key */
            aload 2 /* supplier */
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast reactor.core.scheduler.Scheduler
            invokespecial reactor.core.scheduler.Schedulers$CachedScheduler.<init>:(Ljava/lang/String;Lreactor/core/scheduler/Scheduler;)V
            astore 3 /* s */
         4: .line 561
            aload 0 /* reference */
            aconst_null
            aload 3 /* s */
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 6
         5: .line 562
            aload 3 /* s */
            areturn
         6: .line 566
      StackMap locals:
      StackMap stack:
            aload 3 /* s */
            invokevirtual reactor.core.scheduler.Schedulers$CachedScheduler._dispose:()V
         7: .line 567
            aload 0 /* reference */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast reactor.core.scheduler.Schedulers$CachedScheduler
            areturn
        end local 3 // reactor.core.scheduler.Schedulers$CachedScheduler s
        end local 2 // java.util.function.Supplier supplier
        end local 1 // java.lang.String key
        end local 0 // java.util.concurrent.atomic.AtomicReference reference
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0  reference  Ljava/util/concurrent/atomic/AtomicReference<Lreactor/core/scheduler/Schedulers$CachedScheduler;>;
            0    8     1        key  Ljava/lang/String;
            0    8     2   supplier  Ljava/util/function/Supplier<Lreactor/core/scheduler/Scheduler;>;
            1    8     3          s  Lreactor/core/scheduler/Schedulers$CachedScheduler;
    Signature: (Ljava/util/concurrent/atomic/AtomicReference<Lreactor/core/scheduler/Schedulers$CachedScheduler;>;Ljava/lang/String;Ljava/util/function/Supplier<Lreactor/core/scheduler/Scheduler;>;)Lreactor/core/scheduler/Schedulers$CachedScheduler;
    MethodParameters:
           Name  Flags
      reference  
      key        
      supplier   

  static final void defaultUncaughtException(java.lang.Thread, java.lang.Throwable);
    descriptor: (Ljava/lang/Thread;Ljava/lang/Throwable;)V
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Thread t
        start local 1 // java.lang.Throwable e
         0: .line 573
            getstatic reactor.core.scheduler.Schedulers.log:Lreactor/util/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Scheduler worker in group "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* t */
            invokevirtual java.lang.Thread.getThreadGroup:()Ljava/lang/ThreadGroup;
            invokevirtual java.lang.ThreadGroup.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 574
            ldc " failed with an uncaught exception"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
         2: .line 573
            invokeinterface reactor.util.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
         3: .line 575
            return
        end local 1 // java.lang.Throwable e
        end local 0 // java.lang.Thread t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     t  Ljava/lang/Thread;
            0    4     1     e  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      t     
      e     

  static void handleError(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.Throwable ex
         0: .line 578
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 1 /* thread */
        start local 1 // java.lang.Thread thread
         1: .line 579
            aload 0 /* ex */
            invokestatic reactor.core.Exceptions.unwrap:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
         2: .line 580
            aload 1 /* thread */
            invokevirtual java.lang.Thread.getUncaughtExceptionHandler:()Ljava/lang/Thread$UncaughtExceptionHandler;
            astore 3 /* x */
        start local 3 // java.lang.Thread$UncaughtExceptionHandler x
         3: .line 581
            aload 3 /* x */
            ifnull 6
         4: .line 582
            aload 3 /* x */
            aload 1 /* thread */
            aload 2 /* t */
            invokeinterface java.lang.Thread$UncaughtExceptionHandler.uncaughtException:(Ljava/lang/Thread;Ljava/lang/Throwable;)V
         5: .line 583
            goto 7
         6: .line 585
      StackMap locals: java.lang.Thread java.lang.Throwable java.lang.Thread$UncaughtExceptionHandler
      StackMap stack:
            getstatic reactor.core.scheduler.Schedulers.log:Lreactor/util/Logger;
            ldc "Scheduler worker failed with an uncaught exception"
            aload 2 /* t */
            invokeinterface reactor.util.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
         7: .line 587
      StackMap locals:
      StackMap stack:
            getstatic reactor.core.scheduler.Schedulers.onHandleErrorHook:Ljava/util/function/BiConsumer;
            ifnull 9
         8: .line 588
            getstatic reactor.core.scheduler.Schedulers.onHandleErrorHook:Ljava/util/function/BiConsumer;
            aload 1 /* thread */
            aload 2 /* t */
            invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 590
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Thread$UncaughtExceptionHandler x
        end local 2 // java.lang.Throwable t
        end local 1 // java.lang.Thread thread
        end local 0 // java.lang.Throwable ex
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0      ex  Ljava/lang/Throwable;
            1   10     1  thread  Ljava/lang/Thread;
            2   10     2       t  Ljava/lang/Throwable;
            3   10     3       x  Ljava/lang/Thread$UncaughtExceptionHandler;
    MethodParameters:
      Name  Flags
      ex    

  static reactor.core.Disposable directSchedule(java.util.concurrent.ScheduledExecutorService, java.lang.Runnable, long, java.util.concurrent.TimeUnit);
    descriptor: (Ljava/util/concurrent/ScheduledExecutorService;Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lreactor/core/Disposable;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // java.util.concurrent.ScheduledExecutorService exec
        start local 1 // java.lang.Runnable task
        start local 2 // long delay
        start local 4 // java.util.concurrent.TimeUnit unit
         0: .line 674
            new reactor.core.scheduler.SchedulerTask
            dup
            aload 1 /* task */
            invokespecial reactor.core.scheduler.SchedulerTask.<init>:(Ljava/lang/Runnable;)V
            astore 5 /* sr */
        start local 5 // reactor.core.scheduler.SchedulerTask sr
         1: .line 676
            lload 2 /* delay */
            lconst_0
            lcmp
            ifgt 4
         2: .line 677
            aload 0 /* exec */
            aload 5 /* sr */
            invokeinterface java.util.concurrent.ScheduledExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
            astore 6 /* f */
        start local 6 // java.util.concurrent.Future f
         3: .line 678
            goto 5
        end local 6 // java.util.concurrent.Future f
         4: .line 680
      StackMap locals: reactor.core.scheduler.SchedulerTask
      StackMap stack:
            aload 0 /* exec */
            aload 5 /* sr */
            lload 2 /* delay */
            aload 4 /* unit */
            invokeinterface java.util.concurrent.ScheduledExecutorService.schedule:(Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            astore 6 /* f */
        start local 6 // java.util.concurrent.Future f
         5: .line 682
      StackMap locals: java.util.concurrent.Future
      StackMap stack:
            aload 5 /* sr */
            aload 6 /* f */
            invokevirtual reactor.core.scheduler.SchedulerTask.setFuture:(Ljava/util/concurrent/Future;)V
         6: .line 684
            aload 5 /* sr */
            areturn
        end local 6 // java.util.concurrent.Future f
        end local 5 // reactor.core.scheduler.SchedulerTask sr
        end local 4 // java.util.concurrent.TimeUnit unit
        end local 2 // long delay
        end local 1 // java.lang.Runnable task
        end local 0 // java.util.concurrent.ScheduledExecutorService exec
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   exec  Ljava/util/concurrent/ScheduledExecutorService;
            0    7     1   task  Ljava/lang/Runnable;
            0    7     2  delay  J
            0    7     4   unit  Ljava/util/concurrent/TimeUnit;
            1    7     5     sr  Lreactor/core/scheduler/SchedulerTask;
            3    4     6      f  Ljava/util/concurrent/Future<*>;
            5    7     6      f  Ljava/util/concurrent/Future<*>;
    MethodParameters:
       Name  Flags
      exec   
      task   
      delay  
      unit   

  static reactor.core.Disposable directSchedulePeriodically(java.util.concurrent.ScheduledExecutorService, java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
    descriptor: (Ljava/util/concurrent/ScheduledExecutorService;Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Lreactor/core/Disposable;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=9, args_size=5
        start local 0 // java.util.concurrent.ScheduledExecutorService exec
        start local 1 // java.lang.Runnable task
        start local 2 // long initialDelay
        start local 4 // long period
        start local 6 // java.util.concurrent.TimeUnit unit
         0: .line 693
            new reactor.core.scheduler.PeriodicSchedulerTask
            dup
            aload 1 /* task */
            invokespecial reactor.core.scheduler.PeriodicSchedulerTask.<init>:(Ljava/lang/Runnable;)V
            astore 7 /* sr */
        start local 7 // reactor.core.scheduler.PeriodicSchedulerTask sr
         1: .line 695
            aload 0 /* exec */
            aload 7 /* sr */
            lload 2 /* initialDelay */
            lload 4 /* period */
            aload 6 /* unit */
            invokeinterface java.util.concurrent.ScheduledExecutorService.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            astore 8 /* f */
        start local 8 // java.util.concurrent.Future f
         2: .line 696
            aload 7 /* sr */
            aload 8 /* f */
            invokevirtual reactor.core.scheduler.PeriodicSchedulerTask.setFuture:(Ljava/util/concurrent/Future;)V
         3: .line 698
            aload 7 /* sr */
            areturn
        end local 8 // java.util.concurrent.Future f
        end local 7 // reactor.core.scheduler.PeriodicSchedulerTask sr
        end local 6 // java.util.concurrent.TimeUnit unit
        end local 4 // long period
        end local 2 // long initialDelay
        end local 1 // java.lang.Runnable task
        end local 0 // java.util.concurrent.ScheduledExecutorService exec
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          exec  Ljava/util/concurrent/ScheduledExecutorService;
            0    4     1          task  Ljava/lang/Runnable;
            0    4     2  initialDelay  J
            0    4     4        period  J
            0    4     6          unit  Ljava/util/concurrent/TimeUnit;
            1    4     7            sr  Lreactor/core/scheduler/PeriodicSchedulerTask;
            2    4     8             f  Ljava/util/concurrent/Future<*>;
    MethodParameters:
              Name  Flags
      exec          
      task          
      initialDelay  
      period        
      unit          

  static reactor.core.Disposable workerSchedule(java.util.concurrent.ScheduledExecutorService, reactor.core.Disposable$Composite, java.lang.Runnable, long, java.util.concurrent.TimeUnit);
    descriptor: (Ljava/util/concurrent/ScheduledExecutorService;Lreactor/core/Disposable$Composite;Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lreactor/core/Disposable;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // java.util.concurrent.ScheduledExecutorService exec
        start local 1 // reactor.core.Disposable$Composite tasks
        start local 2 // java.lang.Runnable task
        start local 3 // long delay
        start local 5 // java.util.concurrent.TimeUnit unit
         0: .line 707
            new reactor.core.scheduler.WorkerTask
            dup
            aload 2 /* task */
            aload 1 /* tasks */
            invokespecial reactor.core.scheduler.WorkerTask.<init>:(Ljava/lang/Runnable;Lreactor/core/Disposable$Composite;)V
            astore 6 /* sr */
        start local 6 // reactor.core.scheduler.WorkerTask sr
         1: .line 708
            aload 1 /* tasks */
            aload 6 /* sr */
            invokeinterface reactor.core.Disposable$Composite.add:(Lreactor/core/Disposable;)Z
            ifne 3
         2: .line 709
            invokestatic reactor.core.Exceptions.failWithRejected:()Ljava/util/concurrent/RejectedExecutionException;
            athrow
         3: .line 714
      StackMap locals: reactor.core.scheduler.WorkerTask
      StackMap stack:
            lload 3 /* delay */
            lconst_0
            lcmp
            ifgt 6
         4: .line 715
            aload 0 /* exec */
            aload 6 /* sr */
            invokeinterface java.util.concurrent.ScheduledExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
            astore 7 /* f */
        start local 7 // java.util.concurrent.Future f
         5: .line 716
            goto 7
        end local 7 // java.util.concurrent.Future f
         6: .line 718
      StackMap locals:
      StackMap stack:
            aload 0 /* exec */
            aload 6 /* sr */
            lload 3 /* delay */
            aload 5 /* unit */
            invokeinterface java.util.concurrent.ScheduledExecutorService.schedule:(Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            astore 7 /* f */
        start local 7 // java.util.concurrent.Future f
         7: .line 720
      StackMap locals: java.util.concurrent.Future
      StackMap stack:
            aload 6 /* sr */
            aload 7 /* f */
            invokevirtual reactor.core.scheduler.WorkerTask.setFuture:(Ljava/util/concurrent/Future;)V
        end local 7 // java.util.concurrent.Future f
         8: .line 721
            goto 12
         9: .line 722
      StackMap locals: java.util.concurrent.ScheduledExecutorService reactor.core.Disposable$Composite java.lang.Runnable long java.util.concurrent.TimeUnit reactor.core.scheduler.WorkerTask
      StackMap stack: java.util.concurrent.RejectedExecutionException
            astore 7 /* ex */
        start local 7 // java.util.concurrent.RejectedExecutionException ex
        10: .line 723
            aload 6 /* sr */
            invokevirtual reactor.core.scheduler.WorkerTask.dispose:()V
        11: .line 725
            aload 7 /* ex */
            athrow
        end local 7 // java.util.concurrent.RejectedExecutionException ex
        12: .line 728
      StackMap locals:
      StackMap stack:
            aload 6 /* sr */
            areturn
        end local 6 // reactor.core.scheduler.WorkerTask sr
        end local 5 // java.util.concurrent.TimeUnit unit
        end local 3 // long delay
        end local 2 // java.lang.Runnable task
        end local 1 // reactor.core.Disposable$Composite tasks
        end local 0 // java.util.concurrent.ScheduledExecutorService exec
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   exec  Ljava/util/concurrent/ScheduledExecutorService;
            0   13     1  tasks  Lreactor/core/Disposable$Composite;
            0   13     2   task  Ljava/lang/Runnable;
            0   13     3  delay  J
            0   13     5   unit  Ljava/util/concurrent/TimeUnit;
            1   13     6     sr  Lreactor/core/scheduler/WorkerTask;
            5    6     7      f  Ljava/util/concurrent/Future<*>;
            7    8     7      f  Ljava/util/concurrent/Future<*>;
           10   12     7     ex  Ljava/util/concurrent/RejectedExecutionException;
      Exception table:
        from    to  target  type
           3     8       9  Class java.util.concurrent.RejectedExecutionException
    MethodParameters:
       Name  Flags
      exec   
      tasks  
      task   
      delay  
      unit   

  static reactor.core.Disposable workerSchedulePeriodically(java.util.concurrent.ScheduledExecutorService, reactor.core.Disposable$Composite, java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
    descriptor: (Ljava/util/concurrent/ScheduledExecutorService;Lreactor/core/Disposable$Composite;Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Lreactor/core/Disposable;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=10, args_size=6
        start local 0 // java.util.concurrent.ScheduledExecutorService exec
        start local 1 // reactor.core.Disposable$Composite tasks
        start local 2 // java.lang.Runnable task
        start local 3 // long initialDelay
        start local 5 // long period
        start local 7 // java.util.concurrent.TimeUnit unit
         0: .line 738
            lload 5 /* period */
            lconst_0
            lcmp
            ifgt 16
         1: .line 740
            new reactor.core.scheduler.InstantPeriodicWorkerTask
            dup
            aload 2 /* task */
            aload 0 /* exec */
            aload 1 /* tasks */
            invokespecial reactor.core.scheduler.InstantPeriodicWorkerTask.<init>:(Ljava/lang/Runnable;Ljava/util/concurrent/ExecutorService;Lreactor/core/Disposable$Composite;)V
         2: .line 739
            astore 8 /* isr */
        start local 8 // reactor.core.scheduler.InstantPeriodicWorkerTask isr
         3: .line 743
            lload 3 /* initialDelay */
            lconst_0
            lcmp
            ifgt 6
         4: .line 744
            aload 0 /* exec */
            aload 8 /* isr */
            invokeinterface java.util.concurrent.ScheduledExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
            astore 9 /* f */
        start local 9 // java.util.concurrent.Future f
         5: .line 745
            goto 7
        end local 9 // java.util.concurrent.Future f
         6: .line 747
      StackMap locals: reactor.core.scheduler.InstantPeriodicWorkerTask
      StackMap stack:
            aload 0 /* exec */
            aload 8 /* isr */
            lload 3 /* initialDelay */
            aload 7 /* unit */
            invokeinterface java.util.concurrent.ScheduledExecutorService.schedule:(Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            astore 9 /* f */
        start local 9 // java.util.concurrent.Future f
         7: .line 749
      StackMap locals: java.util.concurrent.Future
      StackMap stack:
            aload 8 /* isr */
            aload 9 /* f */
            invokevirtual reactor.core.scheduler.InstantPeriodicWorkerTask.setFirst:(Ljava/util/concurrent/Future;)V
        end local 9 // java.util.concurrent.Future f
         8: .line 750
            goto 15
         9: .line 751
      StackMap locals: java.util.concurrent.ScheduledExecutorService reactor.core.Disposable$Composite java.lang.Runnable long long java.util.concurrent.TimeUnit reactor.core.scheduler.InstantPeriodicWorkerTask
      StackMap stack: java.util.concurrent.RejectedExecutionException
            astore 9 /* ex */
        start local 9 // java.util.concurrent.RejectedExecutionException ex
        10: .line 752
            aload 8 /* isr */
            invokevirtual reactor.core.scheduler.InstantPeriodicWorkerTask.dispose:()V
        11: .line 754
            aload 9 /* ex */
            athrow
        end local 9 // java.util.concurrent.RejectedExecutionException ex
        12: .line 756
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 9 /* ex */
        start local 9 // java.lang.RuntimeException ex
        13: .line 757
            aload 8 /* isr */
            invokevirtual reactor.core.scheduler.InstantPeriodicWorkerTask.dispose:()V
        14: .line 759
            new java.util.concurrent.RejectedExecutionException
            dup
            aload 9 /* ex */
            invokespecial java.util.concurrent.RejectedExecutionException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.lang.RuntimeException ex
        15: .line 762
      StackMap locals:
      StackMap stack:
            aload 8 /* isr */
            areturn
        end local 8 // reactor.core.scheduler.InstantPeriodicWorkerTask isr
        16: .line 765
      StackMap locals:
      StackMap stack:
            new reactor.core.scheduler.PeriodicWorkerTask
            dup
            aload 2 /* task */
            aload 1 /* tasks */
            invokespecial reactor.core.scheduler.PeriodicWorkerTask.<init>:(Ljava/lang/Runnable;Lreactor/core/Disposable$Composite;)V
            astore 8 /* sr */
        start local 8 // reactor.core.scheduler.PeriodicWorkerTask sr
        17: .line 766
            aload 1 /* tasks */
            aload 8 /* sr */
            invokeinterface reactor.core.Disposable$Composite.add:(Lreactor/core/Disposable;)Z
            ifne 19
        18: .line 767
            invokestatic reactor.core.Exceptions.failWithRejected:()Ljava/util/concurrent/RejectedExecutionException;
            athrow
        19: .line 771
      StackMap locals: reactor.core.scheduler.PeriodicWorkerTask
      StackMap stack:
            aload 0 /* exec */
            aload 8 /* sr */
            lload 3 /* initialDelay */
            lload 5 /* period */
            aload 7 /* unit */
            invokeinterface java.util.concurrent.ScheduledExecutorService.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            astore 9 /* f */
        start local 9 // java.util.concurrent.Future f
        20: .line 772
            aload 8 /* sr */
            aload 9 /* f */
            invokevirtual reactor.core.scheduler.PeriodicWorkerTask.setFuture:(Ljava/util/concurrent/Future;)V
        end local 9 // java.util.concurrent.Future f
        21: .line 773
            goto 28
        22: .line 774
      StackMap locals:
      StackMap stack: java.util.concurrent.RejectedExecutionException
            astore 9 /* ex */
        start local 9 // java.util.concurrent.RejectedExecutionException ex
        23: .line 775
            aload 8 /* sr */
            invokevirtual reactor.core.scheduler.PeriodicWorkerTask.dispose:()V
        24: .line 777
            aload 9 /* ex */
            athrow
        end local 9 // java.util.concurrent.RejectedExecutionException ex
        25: .line 779
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 9 /* ex */
        start local 9 // java.lang.RuntimeException ex
        26: .line 780
            aload 8 /* sr */
            invokevirtual reactor.core.scheduler.PeriodicWorkerTask.dispose:()V
        27: .line 782
            new java.util.concurrent.RejectedExecutionException
            dup
            aload 9 /* ex */
            invokespecial java.util.concurrent.RejectedExecutionException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.lang.RuntimeException ex
        28: .line 785
      StackMap locals:
      StackMap stack:
            aload 8 /* sr */
            areturn
        end local 8 // reactor.core.scheduler.PeriodicWorkerTask sr
        end local 7 // java.util.concurrent.TimeUnit unit
        end local 5 // long period
        end local 3 // long initialDelay
        end local 2 // java.lang.Runnable task
        end local 1 // reactor.core.Disposable$Composite tasks
        end local 0 // java.util.concurrent.ScheduledExecutorService exec
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   29     0          exec  Ljava/util/concurrent/ScheduledExecutorService;
            0   29     1         tasks  Lreactor/core/Disposable$Composite;
            0   29     2          task  Ljava/lang/Runnable;
            0   29     3  initialDelay  J
            0   29     5        period  J
            0   29     7          unit  Ljava/util/concurrent/TimeUnit;
            3   16     8           isr  Lreactor/core/scheduler/InstantPeriodicWorkerTask;
            5    6     9             f  Ljava/util/concurrent/Future<*>;
            7    8     9             f  Ljava/util/concurrent/Future<*>;
           10   12     9            ex  Ljava/util/concurrent/RejectedExecutionException;
           13   15     9            ex  Ljava/lang/RuntimeException;
           17   29     8            sr  Lreactor/core/scheduler/PeriodicWorkerTask;
           20   21     9             f  Ljava/util/concurrent/Future<*>;
           23   25     9            ex  Ljava/util/concurrent/RejectedExecutionException;
           26   28     9            ex  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           3     8       9  Class java.util.concurrent.RejectedExecutionException
           3     8      12  Class java.lang.IllegalArgumentException
           3     8      12  Class java.lang.NullPointerException
          19    21      22  Class java.util.concurrent.RejectedExecutionException
          19    21      25  Class java.lang.IllegalArgumentException
          19    21      25  Class java.lang.NullPointerException
    MethodParameters:
              Name  Flags
      exec          
      tasks         
      task          
      initialDelay  
      period        
      unit          

  static java.util.concurrent.ScheduledExecutorService decorateExecutorService(java.lang.String, java.util.function.Supplier<? extends java.util.concurrent.ScheduledExecutorService>);
    descriptor: (Ljava/lang/String;Ljava/util/function/Supplier;)Ljava/util/concurrent/ScheduledExecutorService;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String schedulerType
        start local 1 // java.util.function.Supplier actual
         0: .line 791
            getstatic reactor.core.scheduler.Schedulers.factory:Lreactor/core/scheduler/Schedulers$Factory;
            aload 0 /* schedulerType */
            aload 1 /* actual */
            invokeinterface reactor.core.scheduler.Schedulers$Factory.decorateExecutorService:(Ljava/lang/String;Ljava/util/function/Supplier;)Ljava/util/concurrent/ScheduledExecutorService;
            areturn
        end local 1 // java.util.function.Supplier actual
        end local 0 // java.lang.String schedulerType
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0  schedulerType  Ljava/lang/String;
            0    1     1         actual  Ljava/util/function/Supplier<+Ljava/util/concurrent/ScheduledExecutorService;>;
    Signature: (Ljava/lang/String;Ljava/util/function/Supplier<+Ljava/util/concurrent/ScheduledExecutorService;>;)Ljava/util/concurrent/ScheduledExecutorService;
    MethodParameters:
               Name  Flags
      schedulerType  
      actual         

  static final java.lang.Object scanExecutor(java.util.concurrent.Executor, reactor.core.Scannable$Attr);
    descriptor: (Ljava/util/concurrent/Executor;Lreactor/core/Scannable$Attr;)Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.util.concurrent.Executor executor
        start local 1 // reactor.core.Scannable$Attr key
         0: .line 810
            aload 0 /* executor */
            instanceof reactor.core.scheduler.DelegateServiceScheduler$UnsupportedScheduledExecutorService
            ifeq 2
         1: .line 811
            aload 0 /* executor */
            checkcast reactor.core.scheduler.DelegateServiceScheduler$UnsupportedScheduledExecutorService
            invokevirtual reactor.core.scheduler.DelegateServiceScheduler$UnsupportedScheduledExecutorService.get:()Ljava/util/concurrent/ExecutorService;
            astore 0 /* executor */
         2: .line 813
      StackMap locals:
      StackMap stack:
            aload 0 /* executor */
            instanceof reactor.core.Scannable
            ifeq 4
         3: .line 814
            aload 0 /* executor */
            checkcast reactor.core.Scannable
            aload 1 /* key */
            invokeinterface reactor.core.Scannable.scanUnsafe:(Lreactor/core/Scannable$Attr;)Ljava/lang/Object;
            areturn
         4: .line 817
      StackMap locals:
      StackMap stack:
            aload 0 /* executor */
            instanceof java.util.concurrent.ExecutorService
            ifeq 8
         5: .line 818
            aload 0 /* executor */
            checkcast java.util.concurrent.ExecutorService
            astore 2 /* service */
        start local 2 // java.util.concurrent.ExecutorService service
         6: .line 819
            aload 1 /* key */
            getstatic reactor.core.Scannable$Attr.TERMINATED:Lreactor/core/Scannable$Attr;
            if_acmpne 7
            aload 2 /* service */
            invokeinterface java.util.concurrent.ExecutorService.isTerminated:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
         7: .line 820
      StackMap locals: java.util.concurrent.ExecutorService
      StackMap stack:
            aload 1 /* key */
            getstatic reactor.core.Scannable$Attr.CANCELLED:Lreactor/core/Scannable$Attr;
            if_acmpne 8
            aload 2 /* service */
            invokeinterface java.util.concurrent.ExecutorService.isShutdown:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 2 // java.util.concurrent.ExecutorService service
         8: .line 823
      StackMap locals:
      StackMap stack:
            aload 0 /* executor */
            instanceof java.util.concurrent.ThreadPoolExecutor
            ifeq 13
         9: .line 824
            aload 0 /* executor */
            checkcast java.util.concurrent.ThreadPoolExecutor
            astore 2 /* poolExecutor */
        start local 2 // java.util.concurrent.ThreadPoolExecutor poolExecutor
        10: .line 825
            aload 1 /* key */
            getstatic reactor.core.Scannable$Attr.CAPACITY:Lreactor/core/Scannable$Attr;
            if_acmpne 11
            aload 2 /* poolExecutor */
            invokevirtual java.util.concurrent.ThreadPoolExecutor.getMaximumPoolSize:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        11: .line 826
      StackMap locals: java.util.concurrent.ThreadPoolExecutor
      StackMap stack:
            aload 1 /* key */
            getstatic reactor.core.Scannable$Attr.BUFFERED:Lreactor/core/Scannable$Attr;
            if_acmpne 12
            aload 2 /* poolExecutor */
            invokevirtual java.util.concurrent.ThreadPoolExecutor.getTaskCount:()J
            aload 2 /* poolExecutor */
            invokevirtual java.util.concurrent.ThreadPoolExecutor.getCompletedTaskCount:()J
            lsub
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.lang.Long.intValue:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        12: .line 827
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            getstatic reactor.core.Scannable$Attr.LARGE_BUFFERED:Lreactor/core/Scannable$Attr;
            if_acmpne 13
            aload 2 /* poolExecutor */
            invokevirtual java.util.concurrent.ThreadPoolExecutor.getTaskCount:()J
            aload 2 /* poolExecutor */
            invokevirtual java.util.concurrent.ThreadPoolExecutor.getCompletedTaskCount:()J
            lsub
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        end local 2 // java.util.concurrent.ThreadPoolExecutor poolExecutor
        13: .line 830
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // reactor.core.Scannable$Attr key
        end local 0 // java.util.concurrent.Executor executor
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0      executor  Ljava/util/concurrent/Executor;
            0   14     1           key  Lreactor/core/Scannable$Attr;
            6    8     2       service  Ljava/util/concurrent/ExecutorService;
           10   13     2  poolExecutor  Ljava/util/concurrent/ThreadPoolExecutor;
    RuntimeVisibleAnnotations: 
      reactor.util.annotation.Nullable()
    MethodParameters:
          Name  Flags
      executor  
      key       

  private static java.lang.Integer lambda$1();
    descriptor: ()Ljava/lang/Integer;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 69
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.availableProcessors:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static reactor.core.scheduler.Scheduler lambda$2();
    descriptor: ()Lreactor/core/scheduler/Scheduler;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 531
            ldc "elastic"
            bipush 60
            iconst_1
            invokestatic reactor.core.scheduler.Schedulers.newElastic:(Ljava/lang/String;IZ)Lreactor/core/scheduler/Scheduler;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static reactor.core.scheduler.Scheduler lambda$3();
    descriptor: ()Lreactor/core/scheduler/Scheduler;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 534
            ldc "parallel"
            getstatic reactor.core.scheduler.Schedulers.DEFAULT_POOL_SIZE:I
            iconst_1
            invokestatic reactor.core.scheduler.Schedulers.newParallel:(Ljava/lang/String;IZ)Lreactor/core/scheduler/Scheduler;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static reactor.core.scheduler.Scheduler lambda$4();
    descriptor: ()Lreactor/core/scheduler/Scheduler;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 536
            ldc "single"
            iconst_1
            invokestatic reactor.core.scheduler.Schedulers.newSingle:(Ljava/lang/String;Z)Lreactor/core/scheduler/Scheduler;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "Schedulers.java"
NestMembers:
  reactor.core.scheduler.Schedulers$1  reactor.core.scheduler.Schedulers$CachedScheduler  reactor.core.scheduler.Schedulers$Factory
InnerClasses:
  public abstract UncaughtExceptionHandler = java.lang.Thread$UncaughtExceptionHandler of java.lang.Thread
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Composite = reactor.core.Disposable$Composite of reactor.core.Disposable
  public Attr = reactor.core.Scannable$Attr of reactor.core.Scannable
  final UnsupportedScheduledExecutorService = reactor.core.scheduler.DelegateServiceScheduler$UnsupportedScheduledExecutorService of reactor.core.scheduler.DelegateServiceScheduler
  reactor.core.scheduler.Schedulers$1
  CachedScheduler = reactor.core.scheduler.Schedulers$CachedScheduler of reactor.core.scheduler.Schedulers
  public abstract Factory = reactor.core.scheduler.Schedulers$Factory of reactor.core.scheduler.Schedulers