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

  public static final int DEFAULT_BOUNDED_ELASTIC_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int DEFAULT_BOUNDED_ELASTIC_QUEUESIZE;
    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;>;
    RuntimeVisibleAnnotations: 
      reactor.util.annotation.Nullable()

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

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

  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_BOUNDED_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> BOUNDED_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 final java.util.Map<java.lang.String, java.util.function.BiFunction<reactor.core.scheduler.Scheduler, java.util.concurrent.ScheduledExecutorService, java.util.concurrent.ScheduledExecutorService>> DECORATORS;
    descriptor: Ljava/util/Map;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/function/BiFunction<Lreactor/core/scheduler/Scheduler;Ljava/util/concurrent/ScheduledExecutorService;Ljava/util/concurrent/ScheduledExecutorService;>;>;

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

  private static final java.util.LinkedHashMap<java.lang.String, java.util.function.Function<java.lang.Runnable, java.lang.Runnable>> onScheduleHooks;
    descriptor: Ljava/util/LinkedHashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/LinkedHashMap<Ljava/lang/String;Ljava/util/function/Function<Ljava/lang/Runnable;Ljava/lang/Runnable;>;>;

  private static java.util.function.Function<java.lang.Runnable, java.lang.Runnable> onScheduleHook;
    descriptor: Ljava/util/function/Function;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/function/Function<Ljava/lang/Runnable;Ljava/lang/Runnable;>;
    RuntimeVisibleAnnotations: 
      reactor.util.annotation.Nullable()

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 78
            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 79
            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 80
            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 77
            putstatic reactor.core.scheduler.Schedulers.DEFAULT_POOL_SIZE:I
         4: .line 91
            ldc "reactor.schedulers.defaultBoundedElasticSize"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
         5: .line 92
            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;
         6: .line 93
            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()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
         7: .line 90
            putstatic reactor.core.scheduler.Schedulers.DEFAULT_BOUNDED_ELASTIC_SIZE:I
         8: .line 103
            ldc "reactor.schedulers.defaultBoundedElasticQueueSize"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
         9: .line 104
            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;
        10: .line 105
            ldc 100000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
        11: .line 102
            putstatic reactor.core.scheduler.Schedulers.DEFAULT_BOUNDED_ELASTIC_QUEUESIZE:I
        12: .line 1122
            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;
        13: .line 1123
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            putstatic reactor.core.scheduler.Schedulers.CACHED_BOUNDED_ELASTIC:Ljava/util/concurrent/atomic/AtomicReference;
        14: .line 1124
            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;
        15: .line 1125
            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;
        16: .line 1128
            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$5()Lreactor/core/scheduler/Scheduler; (6)
                  ()Lreactor/core/scheduler/Scheduler;
        17: .line 1127
            putstatic reactor.core.scheduler.Schedulers.ELASTIC_SUPPLIER:Ljava/util/function/Supplier;
        18: .line 1131
            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$6()Lreactor/core/scheduler/Scheduler; (6)
                  ()Lreactor/core/scheduler/Scheduler;
        19: .line 1130
            putstatic reactor.core.scheduler.Schedulers.BOUNDED_ELASTIC_SUPPLIER:Ljava/util/function/Supplier;
        20: .line 1135
            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$7()Lreactor/core/scheduler/Scheduler; (6)
                  ()Lreactor/core/scheduler/Scheduler;
        21: .line 1134
            putstatic reactor.core.scheduler.Schedulers.PARALLEL_SUPPLIER:Ljava/util/function/Supplier;
        22: .line 1137
            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$8()Lreactor/core/scheduler/Scheduler; (6)
                  ()Lreactor/core/scheduler/Scheduler;
            putstatic reactor.core.scheduler.Schedulers.SINGLE_SUPPLIER:Ljava/util/function/Supplier;
        23: .line 1139
            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;
        24: .line 1142
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putstatic reactor.core.scheduler.Schedulers.DECORATORS:Ljava/util/Map;
        25: .line 1144
            getstatic reactor.core.scheduler.Schedulers.DEFAULT:Lreactor/core/scheduler/Schedulers$Factory;
            putstatic reactor.core.scheduler.Schedulers.factory:Lreactor/core/scheduler/Schedulers$Factory;
        26: .line 1146
            new java.util.LinkedHashMap
            dup
            iconst_1
            invokespecial java.util.LinkedHashMap.<init>:(I)V
            putstatic reactor.core.scheduler.Schedulers.onScheduleHooks:Ljava/util/LinkedHashMap;
        27: .line 1178
            ldc Lreactor/core/scheduler/Schedulers;
            invokestatic reactor.util.Loggers.getLogger:(Ljava/lang/Class;)Lreactor/util/Logger;
            putstatic reactor.core.scheduler.Schedulers.LOGGER: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 69
            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 123
            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=3, args_size=2
        start local 0 // java.util.concurrent.Executor executor
        start local 1 // boolean trampoline
         0: .line 141
            iload 1 /* trampoline */
            ifne 2
            aload 0 /* executor */
            instanceof java.util.concurrent.ExecutorService
            ifeq 2
         1: .line 142
            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 144
      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
            astore 2 /* scheduler */
        start local 2 // reactor.core.scheduler.ExecutorScheduler scheduler
         3: .line 145
            aload 2 /* scheduler */
            invokevirtual reactor.core.scheduler.ExecutorScheduler.start:()V
         4: .line 146
            aload 2 /* scheduler */
            areturn
        end local 2 // reactor.core.scheduler.ExecutorScheduler scheduler
        end local 1 // boolean trampoline
        end local 0 // java.util.concurrent.Executor executor
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0    executor  Ljava/util/concurrent/Executor;
            0    5     1  trampoline  Z
            3    5     2   scheduler  Lreactor/core/scheduler/ExecutorScheduler;
    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=4, locals=2, args_size=1
        start local 0 // java.util.concurrent.ExecutorService executorService
         0: .line 161
            aload 0 /* executorService */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            astore 1 /* executorServiceHashcode */
        start local 1 // java.lang.String executorServiceHashcode
         1: .line 162
            aload 0 /* executorService */
            new java.lang.StringBuilder
            dup
            ldc "anonymousExecutor@"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* executorServiceHashcode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic reactor.core.scheduler.Schedulers.fromExecutorService:(Ljava/util/concurrent/ExecutorService;Ljava/lang/String;)Lreactor/core/scheduler/Scheduler;
            areturn
        end local 1 // java.lang.String executorServiceHashcode
        end local 0 // java.util.concurrent.ExecutorService executorService
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    2     0          executorService  Ljava/util/concurrent/ExecutorService;
            1    2     1  executorServiceHashcode  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      executorService  

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

  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 197
            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
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static reactor.core.scheduler.Scheduler boundedElastic();
    descriptor: ()Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 227
            getstatic reactor.core.scheduler.Schedulers.CACHED_BOUNDED_ELASTIC:Ljava/util/concurrent/atomic/AtomicReference;
            ldc "boundedElastic"
            getstatic reactor.core.scheduler.Schedulers.BOUNDED_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 238
            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 252
            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 275
            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;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    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 296
            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
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    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 319
            iload 1 /* ttlSeconds */
         1: .line 320
            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 321
            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 320
            invokespecial reactor.core.scheduler.ReactorThreadFactory.<init>:(Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicLong;ZZLjava/util/function/BiConsumer;)V
         4: .line 319
            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
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    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=3, args_size=2
        start local 0 // int ttlSeconds
        start local 1 // java.util.concurrent.ThreadFactory threadFactory
         0: .line 342
            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;
            astore 2 /* fromFactory */
        start local 2 // reactor.core.scheduler.Scheduler fromFactory
         1: .line 343
            aload 2 /* fromFactory */
            invokeinterface reactor.core.scheduler.Scheduler.start:()V
         2: .line 344
            aload 2 /* fromFactory */
            areturn
        end local 2 // reactor.core.scheduler.Scheduler fromFactory
        end local 1 // java.util.concurrent.ThreadFactory threadFactory
        end local 0 // int ttlSeconds
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0     ttlSeconds  I
            0    3     1  threadFactory  Ljava/util/concurrent/ThreadFactory;
            1    3     2    fromFactory  Lreactor/core/scheduler/Scheduler;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
               Name  Flags
      ttlSeconds     
      threadFactory  

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

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

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

  public static reactor.core.scheduler.Scheduler newBoundedElastic(int, int, java.util.concurrent.ThreadFactory, int);
    descriptor: (IILjava/util/concurrent/ThreadFactory;I)Lreactor/core/scheduler/Scheduler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // int threadCap
        start local 1 // int queuedTaskCap
        start local 2 // java.util.concurrent.ThreadFactory threadFactory
        start local 3 // int ttlSeconds
         0: .line 494
            getstatic reactor.core.scheduler.Schedulers.factory:Lreactor/core/scheduler/Schedulers$Factory;
            iload 0 /* threadCap */
         1: .line 495
            iload 1 /* queuedTaskCap */
         2: .line 496
            aload 2 /* threadFactory */
         3: .line 497
            iload 3 /* ttlSeconds */
         4: .line 494
            invokeinterface reactor.core.scheduler.Schedulers$Factory.newBoundedElastic:(IILjava/util/concurrent/ThreadFactory;I)Lreactor/core/scheduler/Scheduler;
            astore 4 /* fromFactory */
        start local 4 // reactor.core.scheduler.Scheduler fromFactory
         5: .line 498
            aload 4 /* fromFactory */
            invokeinterface reactor.core.scheduler.Scheduler.start:()V
         6: .line 499
            aload 4 /* fromFactory */
            areturn
        end local 4 // reactor.core.scheduler.Scheduler fromFactory
        end local 3 // int ttlSeconds
        end local 2 // java.util.concurrent.ThreadFactory threadFactory
        end local 1 // int queuedTaskCap
        end local 0 // int threadCap
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0      threadCap  I
            0    7     1  queuedTaskCap  I
            0    7     2  threadFactory  Ljava/util/concurrent/ThreadFactory;
            0    7     3     ttlSeconds  I
            5    7     4    fromFactory  Lreactor/core/scheduler/Scheduler;
    MethodParameters:
               Name  Flags
      threadCap      
      queuedTaskCap  
      threadFactory  
      ttlSeconds     

  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 513
            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 528
            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 545
            iload 1 /* parallelism */
         1: .line 546
            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 547
            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 546
            invokespecial reactor.core.scheduler.ReactorThreadFactory.<init>:(Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicLong;ZZLjava/util/function/BiConsumer;)V
         4: .line 545
            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=3, args_size=2
        start local 0 // int parallelism
        start local 1 // java.util.concurrent.ThreadFactory threadFactory
         0: .line 562
            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;
            astore 2 /* fromFactory */
        start local 2 // reactor.core.scheduler.Scheduler fromFactory
         1: .line 563
            aload 2 /* fromFactory */
            invokeinterface reactor.core.scheduler.Scheduler.start:()V
         2: .line 564
            aload 2 /* fromFactory */
            areturn
        end local 2 // reactor.core.scheduler.Scheduler fromFactory
        end local 1 // java.util.concurrent.ThreadFactory threadFactory
        end local 0 // int parallelism
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0    parallelism  I
            0    3     1  threadFactory  Ljava/util/concurrent/ThreadFactory;
            1    3     2    fromFactory  Lreactor/core/scheduler/Scheduler;
    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 578
            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 594
            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 595
            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 594
            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=2, args_size=1
        start local 0 // java.util.concurrent.ThreadFactory threadFactory
         0: .line 609
            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;
            astore 1 /* fromFactory */
        start local 1 // reactor.core.scheduler.Scheduler fromFactory
         1: .line 610
            aload 1 /* fromFactory */
            invokeinterface reactor.core.scheduler.Scheduler.start:()V
         2: .line 611
            aload 1 /* fromFactory */
            areturn
        end local 1 // reactor.core.scheduler.Scheduler fromFactory
        end local 0 // java.util.concurrent.ThreadFactory threadFactory
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0  threadFactory  Ljava/util/concurrent/ThreadFactory;
            1    3     1    fromFactory  Lreactor/core/scheduler/Scheduler;
    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 623
            getstatic reactor.core.scheduler.Schedulers.LOGGER:Lreactor/util/Logger;
            invokeinterface reactor.util.Logger.isDebugEnabled:()Z
            ifeq 2
         1: .line 624
            getstatic reactor.core.scheduler.Schedulers.LOGGER:Lreactor/util/Logger;
            ldc "Hooking new default: onHandleError"
            invokeinterface reactor.util.Logger.debug:(Ljava/lang/String;)V
         2: .line 626
      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 627
            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 637
            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 648
            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 enableMetrics();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 666
            invokestatic reactor.util.Metrics.isInstrumentationAvailable:()Z
            ifeq 2
         1: .line 667
            ldc "reactor.metrics.decorator"
            new reactor.core.scheduler.SchedulerMetricDecorator
            dup
            invokespecial reactor.core.scheduler.SchedulerMetricDecorator.<init>:()V
            invokestatic reactor.core.scheduler.Schedulers.addExecutorServiceDecorator:(Ljava/lang/String;Ljava/util/function/BiFunction;)Z
            pop
         2: .line 669
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void disableMetrics();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 676
            ldc "reactor.metrics.decorator"
            invokestatic reactor.core.scheduler.Schedulers.removeExecutorServiceDecorator:(Ljava/lang/String;)Ljava/util/function/BiFunction;
            pop
         1: .line 677
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void resetFactory();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 683
            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 684
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static reactor.core.scheduler.Schedulers$Snapshot setFactoryWithSnapshot(reactor.core.scheduler.Schedulers$Factory);
    descriptor: (Lreactor/core/scheduler/Schedulers$Factory;)Lreactor/core/scheduler/Schedulers$Snapshot;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // reactor.core.scheduler.Schedulers$Factory newFactory
         0: .line 700
            new reactor.core.scheduler.Schedulers$Snapshot
            dup
         1: .line 701
            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
         2: .line 702
            getstatic reactor.core.scheduler.Schedulers.CACHED_BOUNDED_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
         3: .line 703
            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
         4: .line 704
            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
         5: .line 705
            getstatic reactor.core.scheduler.Schedulers.factory:Lreactor/core/scheduler/Schedulers$Factory;
         6: .line 700
            invokespecial reactor.core.scheduler.Schedulers$Snapshot.<init>:(Lreactor/core/scheduler/Schedulers$CachedScheduler;Lreactor/core/scheduler/Schedulers$CachedScheduler;Lreactor/core/scheduler/Schedulers$CachedScheduler;Lreactor/core/scheduler/Schedulers$CachedScheduler;Lreactor/core/scheduler/Schedulers$Factory;)V
            astore 1 /* snapshot */
        start local 1 // reactor.core.scheduler.Schedulers$Snapshot snapshot
         7: .line 706
            aload 0 /* newFactory */
            invokestatic reactor.core.scheduler.Schedulers.setFactory:(Lreactor/core/scheduler/Schedulers$Factory;)V
         8: .line 707
            aload 1 /* snapshot */
            areturn
        end local 1 // reactor.core.scheduler.Schedulers$Snapshot snapshot
        end local 0 // reactor.core.scheduler.Schedulers$Factory newFactory
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0  newFactory  Lreactor/core/scheduler/Schedulers$Factory;
            7    9     1    snapshot  Lreactor/core/scheduler/Schedulers$Snapshot;
    MethodParameters:
            Name  Flags
      newFactory  

  public static void resetFrom(reactor.core.scheduler.Schedulers$Snapshot);
    descriptor: (Lreactor/core/scheduler/Schedulers$Snapshot;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // reactor.core.scheduler.Schedulers$Snapshot snapshot
         0: .line 717
            aload 0 /* snapshot */
            ifnonnull 3
         1: .line 718
            invokestatic reactor.core.scheduler.Schedulers.resetFactory:()V
         2: .line 719
            return
         3: .line 723
      StackMap locals:
      StackMap stack:
            getstatic reactor.core.scheduler.Schedulers.CACHED_ELASTIC:Ljava/util/concurrent/atomic/AtomicReference;
            aload 0 /* snapshot */
            getfield reactor.core.scheduler.Schedulers$Snapshot.oldElasticScheduler:Lreactor/core/scheduler/Schedulers$CachedScheduler;
            invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast reactor.core.scheduler.Schedulers$CachedScheduler
            astore 1 /* oldElastic */
        start local 1 // reactor.core.scheduler.Schedulers$CachedScheduler oldElastic
         4: .line 724
            getstatic reactor.core.scheduler.Schedulers.CACHED_BOUNDED_ELASTIC:Ljava/util/concurrent/atomic/AtomicReference;
            aload 0 /* snapshot */
            getfield reactor.core.scheduler.Schedulers$Snapshot.oldBoundedElasticScheduler:Lreactor/core/scheduler/Schedulers$CachedScheduler;
            invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast reactor.core.scheduler.Schedulers$CachedScheduler
            astore 2 /* oldBoundedElastic */
        start local 2 // reactor.core.scheduler.Schedulers$CachedScheduler oldBoundedElastic
         5: .line 725
            getstatic reactor.core.scheduler.Schedulers.CACHED_PARALLEL:Ljava/util/concurrent/atomic/AtomicReference;
            aload 0 /* snapshot */
            getfield reactor.core.scheduler.Schedulers$Snapshot.oldParallelScheduler:Lreactor/core/scheduler/Schedulers$CachedScheduler;
            invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast reactor.core.scheduler.Schedulers$CachedScheduler
            astore 3 /* oldParallel */
        start local 3 // reactor.core.scheduler.Schedulers$CachedScheduler oldParallel
         6: .line 726
            getstatic reactor.core.scheduler.Schedulers.CACHED_SINGLE:Ljava/util/concurrent/atomic/AtomicReference;
            aload 0 /* snapshot */
            getfield reactor.core.scheduler.Schedulers$Snapshot.oldSingleScheduler:Lreactor/core/scheduler/Schedulers$CachedScheduler;
            invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast reactor.core.scheduler.Schedulers$CachedScheduler
            astore 4 /* oldSingle */
        start local 4 // reactor.core.scheduler.Schedulers$CachedScheduler oldSingle
         7: .line 731
            aload 0 /* snapshot */
            getfield reactor.core.scheduler.Schedulers$Snapshot.oldFactory:Lreactor/core/scheduler/Schedulers$Factory;
            putstatic reactor.core.scheduler.Schedulers.factory:Lreactor/core/scheduler/Schedulers$Factory;
         8: .line 734
            aload 1 /* oldElastic */
            ifnull 9
            aload 1 /* oldElastic */
            invokevirtual reactor.core.scheduler.Schedulers$CachedScheduler._dispose:()V
         9: .line 735
      StackMap locals: reactor.core.scheduler.Schedulers$Snapshot reactor.core.scheduler.Schedulers$CachedScheduler reactor.core.scheduler.Schedulers$CachedScheduler reactor.core.scheduler.Schedulers$CachedScheduler reactor.core.scheduler.Schedulers$CachedScheduler
      StackMap stack:
            aload 2 /* oldBoundedElastic */
            ifnull 10
            aload 2 /* oldBoundedElastic */
            invokevirtual reactor.core.scheduler.Schedulers$CachedScheduler._dispose:()V
        10: .line 736
      StackMap locals:
      StackMap stack:
            aload 3 /* oldParallel */
            ifnull 11
            aload 3 /* oldParallel */
            invokevirtual reactor.core.scheduler.Schedulers$CachedScheduler._dispose:()V
        11: .line 737
      StackMap locals:
      StackMap stack:
            aload 4 /* oldSingle */
            ifnull 12
            aload 4 /* oldSingle */
            invokevirtual reactor.core.scheduler.Schedulers$CachedScheduler._dispose:()V
        12: .line 738
      StackMap locals:
      StackMap stack:
            return
        end local 4 // reactor.core.scheduler.Schedulers$CachedScheduler oldSingle
        end local 3 // reactor.core.scheduler.Schedulers$CachedScheduler oldParallel
        end local 2 // reactor.core.scheduler.Schedulers$CachedScheduler oldBoundedElastic
        end local 1 // reactor.core.scheduler.Schedulers$CachedScheduler oldElastic
        end local 0 // reactor.core.scheduler.Schedulers$Snapshot snapshot
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0           snapshot  Lreactor/core/scheduler/Schedulers$Snapshot;
            4   13     1         oldElastic  Lreactor/core/scheduler/Schedulers$CachedScheduler;
            5   13     2  oldBoundedElastic  Lreactor/core/scheduler/Schedulers$CachedScheduler;
            6   13     3        oldParallel  Lreactor/core/scheduler/Schedulers$CachedScheduler;
            7   13     4          oldSingle  Lreactor/core/scheduler/Schedulers$CachedScheduler;
    RuntimeVisibleParameterAnnotations: 
      0:
        reactor.util.annotation.Nullable()
    MethodParameters:
          Name  Flags
      snapshot  

  public static void resetOnHandleError();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 744
            getstatic reactor.core.scheduler.Schedulers.LOGGER:Lreactor/util/Logger;
            invokeinterface reactor.util.Logger.isDebugEnabled:()Z
            ifeq 2
         1: .line 745
            getstatic reactor.core.scheduler.Schedulers.LOGGER:Lreactor/util/Logger;
            ldc "Reset to factory defaults: onHandleError"
            invokeinterface reactor.util.Logger.debug:(Ljava/lang/String;)V
         2: .line 747
      StackMap locals:
      StackMap stack:
            aconst_null
            putstatic reactor.core.scheduler.Schedulers.onHandleErrorHook:Ljava/util/function/BiConsumer;
         3: .line 748
            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 762
            aload 0 /* factoryInstance */
            ldc "factoryInstance"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 763
            invokestatic reactor.core.scheduler.Schedulers.shutdownNow:()V
         2: .line 764
            aload 0 /* factoryInstance */
            putstatic reactor.core.scheduler.Schedulers.factory:Lreactor/core/scheduler/Schedulers$Factory;
         3: .line 765
            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 boolean addExecutorServiceDecorator(java.lang.String, java.util.function.BiFunction<reactor.core.scheduler.Scheduler, java.util.concurrent.ScheduledExecutorService, java.util.concurrent.ScheduledExecutorService>);
    descriptor: (Ljava/lang/String;Ljava/util/function/BiFunction;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String key
        start local 1 // java.util.function.BiFunction decorator
         0: .line 784
            getstatic reactor.core.scheduler.Schedulers.DECORATORS:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 785
            getstatic reactor.core.scheduler.Schedulers.DECORATORS:Ljava/util/Map;
            aload 0 /* key */
            aload 1 /* decorator */
            invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 2
            iconst_1
            goto 3
      StackMap locals: java.util.Map
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: aload 2
            monitorexit
         4: ireturn
         5: .line 784
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         6: athrow
        end local 1 // java.util.function.BiFunction decorator
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0        key  Ljava/lang/String;
            0    7     1  decorator  Ljava/util/function/BiFunction<Lreactor/core/scheduler/Scheduler;Ljava/util/concurrent/ScheduledExecutorService;Ljava/util/concurrent/ScheduledExecutorService;>;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    Signature: (Ljava/lang/String;Ljava/util/function/BiFunction<Lreactor/core/scheduler/Scheduler;Ljava/util/concurrent/ScheduledExecutorService;Ljava/util/concurrent/ScheduledExecutorService;>;)Z
    MethodParameters:
           Name  Flags
      key        
      decorator  

  public static void setExecutorServiceDecorator(java.lang.String, java.util.function.BiFunction<reactor.core.scheduler.Scheduler, java.util.concurrent.ScheduledExecutorService, java.util.concurrent.ScheduledExecutorService>);
    descriptor: (Ljava/lang/String;Ljava/util/function/BiFunction;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String key
        start local 1 // java.util.function.BiFunction decorator
         0: .line 804
            getstatic reactor.core.scheduler.Schedulers.DECORATORS:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 805
            getstatic reactor.core.scheduler.Schedulers.DECORATORS:Ljava/util/Map;
            aload 0 /* key */
            aload 1 /* decorator */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 804
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: java.lang.String java.util.function.BiFunction java.util.Map
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 807
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.function.BiFunction decorator
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0        key  Ljava/lang/String;
            0    7     1  decorator  Ljava/util/function/BiFunction<Lreactor/core/scheduler/Scheduler;Ljava/util/concurrent/ScheduledExecutorService;Ljava/util/concurrent/ScheduledExecutorService;>;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    Signature: (Ljava/lang/String;Ljava/util/function/BiFunction<Lreactor/core/scheduler/Scheduler;Ljava/util/concurrent/ScheduledExecutorService;Ljava/util/concurrent/ScheduledExecutorService;>;)V
    MethodParameters:
           Name  Flags
      key        
      decorator  

  public static java.util.function.BiFunction<reactor.core.scheduler.Scheduler, java.util.concurrent.ScheduledExecutorService, java.util.concurrent.ScheduledExecutorService> removeExecutorServiceDecorator(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/function/BiFunction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String key
         0: .line 823
            getstatic reactor.core.scheduler.Schedulers.DECORATORS:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 824
            getstatic reactor.core.scheduler.Schedulers.DECORATORS:Ljava/util/Map;
            aload 0 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.function.BiFunction
            astore 1 /* removed */
        start local 1 // java.util.function.BiFunction removed
         2: .line 823
            aload 2
            monitorexit
         3: goto 6
        end local 1 // java.util.function.BiFunction removed
      StackMap locals: java.lang.String top java.util.Map
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
        start local 1 // java.util.function.BiFunction removed
         6: .line 826
      StackMap locals: java.lang.String java.util.function.BiFunction
      StackMap stack:
            aload 1 /* removed */
            instanceof reactor.core.Disposable
            ifeq 8
         7: .line 827
            aload 1 /* removed */
            checkcast reactor.core.Disposable
            invokeinterface reactor.core.Disposable.dispose:()V
         8: .line 829
      StackMap locals:
      StackMap stack:
            aload 1 /* removed */
            areturn
        end local 1 // java.util.function.BiFunction removed
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0      key  Ljava/lang/String;
            2    4     1  removed  Ljava/util/function/BiFunction<Lreactor/core/scheduler/Scheduler;Ljava/util/concurrent/ScheduledExecutorService;Ljava/util/concurrent/ScheduledExecutorService;>;
            6    9     1  removed  Ljava/util/function/BiFunction<Lreactor/core/scheduler/Scheduler;Ljava/util/concurrent/ScheduledExecutorService;Ljava/util/concurrent/ScheduledExecutorService;>;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    Signature: (Ljava/lang/String;)Ljava/util/function/BiFunction<Lreactor/core/scheduler/Scheduler;Ljava/util/concurrent/ScheduledExecutorService;Ljava/util/concurrent/ScheduledExecutorService;>;
    MethodParameters:
      Name  Flags
      key   

  public static java.util.concurrent.ScheduledExecutorService decorateExecutorService(reactor.core.scheduler.Scheduler, java.util.concurrent.ScheduledExecutorService);
    descriptor: (Lreactor/core/scheduler/Scheduler;Ljava/util/concurrent/ScheduledExecutorService;)Ljava/util/concurrent/ScheduledExecutorService;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // reactor.core.scheduler.Scheduler owner
        start local 1 // java.util.concurrent.ScheduledExecutorService original
         0: .line 850
            getstatic reactor.core.scheduler.Schedulers.DECORATORS:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 851
            getstatic reactor.core.scheduler.Schedulers.DECORATORS:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: reactor.core.scheduler.Scheduler java.util.concurrent.ScheduledExecutorService java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.function.BiFunction
            astore 3 /* decorator */
        start local 3 // java.util.function.BiFunction decorator
         3: .line 852
            aload 3 /* decorator */
            aload 0 /* owner */
            aload 1 /* original */
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.concurrent.ScheduledExecutorService
            astore 1 /* original */
        end local 3 // java.util.function.BiFunction decorator
         4: .line 851
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 850
            aload 2
            monitorexit
         6: goto 9
      StackMap locals: reactor.core.scheduler.Scheduler java.util.concurrent.ScheduledExecutorService java.util.Map
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 856
      StackMap locals:
      StackMap stack:
            aload 1 /* original */
            areturn
        end local 1 // java.util.concurrent.ScheduledExecutorService original
        end local 0 // reactor.core.scheduler.Scheduler owner
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0      owner  Lreactor/core/scheduler/Scheduler;
            0   10     1   original  Ljava/util/concurrent/ScheduledExecutorService;
            3    4     3  decorator  Ljava/util/function/BiFunction<Lreactor/core/scheduler/Scheduler;Ljava/util/concurrent/ScheduledExecutorService;Ljava/util/concurrent/ScheduledExecutorService;>;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    MethodParameters:
          Name  Flags
      owner     
      original  

  public static void onScheduleHook(java.lang.String, java.util.function.Function<java.lang.Runnable, java.lang.Runnable>);
    descriptor: (Ljava/lang/String;Ljava/util/function/Function;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.lang.String key
        start local 1 // java.util.function.Function decorator
         0: .line 873
            getstatic reactor.core.scheduler.Schedulers.onScheduleHooks:Ljava/util/LinkedHashMap;
            dup
            astore 2
            monitorenter
         1: .line 874
            getstatic reactor.core.scheduler.Schedulers.onScheduleHooks:Ljava/util/LinkedHashMap;
            aload 0 /* key */
            aload 1 /* decorator */
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 875
            aconst_null
            astore 3 /* newHook */
        start local 3 // java.util.function.Function newHook
         3: .line 876
            getstatic reactor.core.scheduler.Schedulers.onScheduleHooks:Ljava/util/LinkedHashMap;
            invokevirtual java.util.LinkedHashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: java.lang.String java.util.function.Function java.util.LinkedHashMap java.util.function.Function top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.function.Function
            astore 4 /* function */
        start local 4 // java.util.function.Function function
         5: .line 877
            aload 3 /* newHook */
            ifnonnull 8
         6: .line 878
            aload 4 /* function */
            astore 3 /* newHook */
         7: .line 879
            goto 9
         8: .line 881
      StackMap locals: java.lang.String java.util.function.Function java.util.LinkedHashMap java.util.function.Function java.util.function.Function java.util.Iterator
      StackMap stack:
            aload 3 /* newHook */
            aload 4 /* function */
            invokeinterface java.util.function.Function.andThen:(Ljava/util/function/Function;)Ljava/util/function/Function;
            astore 3 /* newHook */
        end local 4 // java.util.function.Function function
         9: .line 876
      StackMap locals: java.lang.String java.util.function.Function java.util.LinkedHashMap java.util.function.Function top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        10: .line 884
            aload 3 /* newHook */
            putstatic reactor.core.scheduler.Schedulers.onScheduleHook:Ljava/util/function/Function;
        end local 3 // java.util.function.Function newHook
        11: .line 873
            aload 2
            monitorexit
        12: goto 15
      StackMap locals: java.lang.String java.util.function.Function java.util.LinkedHashMap
      StackMap stack: java.lang.Throwable
        13: aload 2
            monitorexit
        14: athrow
        15: .line 886
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.function.Function decorator
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0        key  Ljava/lang/String;
            0   16     1  decorator  Ljava/util/function/Function<Ljava/lang/Runnable;Ljava/lang/Runnable;>;
            3   11     3    newHook  Ljava/util/function/Function<Ljava/lang/Runnable;Ljava/lang/Runnable;>;
            5    9     4   function  Ljava/util/function/Function<Ljava/lang/Runnable;Ljava/lang/Runnable;>;
      Exception table:
        from    to  target  type
           1    12      13  any
          13    14      13  any
    Signature: (Ljava/lang/String;Ljava/util/function/Function<Ljava/lang/Runnable;Ljava/lang/Runnable;>;)V
    MethodParameters:
           Name  Flags
      key        
      decorator  

  public static void resetOnScheduleHook(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // java.lang.String key
         0: .line 897
            getstatic reactor.core.scheduler.Schedulers.onScheduleHooks:Ljava/util/LinkedHashMap;
            dup
            astore 1
            monitorenter
         1: .line 898
            getstatic reactor.core.scheduler.Schedulers.onScheduleHooks:Ljava/util/LinkedHashMap;
            aload 0 /* key */
            invokevirtual java.util.LinkedHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 899
            getstatic reactor.core.scheduler.Schedulers.onScheduleHooks:Ljava/util/LinkedHashMap;
            invokevirtual java.util.LinkedHashMap.isEmpty:()Z
            ifeq 5
         3: .line 900
            invokestatic java.util.function.Function.identity:()Ljava/util/function/Function;
            putstatic reactor.core.scheduler.Schedulers.onScheduleHook:Ljava/util/function/Function;
         4: .line 901
            goto 14
         5: .line 903
      StackMap locals: java.util.LinkedHashMap
      StackMap stack:
            aconst_null
            astore 2 /* newHook */
        start local 2 // java.util.function.Function newHook
         6: .line 904
            getstatic reactor.core.scheduler.Schedulers.onScheduleHooks:Ljava/util/LinkedHashMap;
            invokevirtual java.util.LinkedHashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals: java.lang.String java.util.LinkedHashMap java.util.function.Function top java.util.Iterator
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.function.Function
            astore 3 /* function */
        start local 3 // java.util.function.Function function
         8: .line 905
            aload 2 /* newHook */
            ifnonnull 11
         9: .line 906
            aload 3 /* function */
            astore 2 /* newHook */
        10: .line 907
            goto 12
        11: .line 909
      StackMap locals: java.lang.String java.util.LinkedHashMap java.util.function.Function java.util.function.Function java.util.Iterator
      StackMap stack:
            aload 2 /* newHook */
            aload 3 /* function */
            invokeinterface java.util.function.Function.andThen:(Ljava/util/function/Function;)Ljava/util/function/Function;
            astore 2 /* newHook */
        end local 3 // java.util.function.Function function
        12: .line 904
      StackMap locals: java.lang.String java.util.LinkedHashMap java.util.function.Function top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        13: .line 912
            aload 2 /* newHook */
            putstatic reactor.core.scheduler.Schedulers.onScheduleHook:Ljava/util/function/Function;
        end local 2 // java.util.function.Function newHook
        14: .line 897
      StackMap locals: java.lang.String java.util.LinkedHashMap
      StackMap stack:
            aload 1
            monitorexit
        15: goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: aload 1
            monitorexit
        17: athrow
        18: .line 915
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0       key  Ljava/lang/String;
            6   14     2   newHook  Ljava/util/function/Function<Ljava/lang/Runnable;Ljava/lang/Runnable;>;
            8   12     3  function  Ljava/util/function/Function<Ljava/lang/Runnable;Ljava/lang/Runnable;>;
      Exception table:
        from    to  target  type
           1    15      16  any
          16    17      16  any
    MethodParameters:
      Name  Flags
      key   

  public static void resetOnScheduleHooks();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 924
            getstatic reactor.core.scheduler.Schedulers.onScheduleHooks:Ljava/util/LinkedHashMap;
            dup
            astore 0
            monitorenter
         1: .line 925
            getstatic reactor.core.scheduler.Schedulers.onScheduleHooks:Ljava/util/LinkedHashMap;
            invokevirtual java.util.LinkedHashMap.clear:()V
         2: .line 926
            aconst_null
            putstatic reactor.core.scheduler.Schedulers.onScheduleHook:Ljava/util/function/Function;
         3: .line 924
            aload 0
            monitorexit
         4: goto 7
      StackMap locals: java.util.LinkedHashMap
      StackMap stack: java.lang.Throwable
         5: aload 0
            monitorexit
         6: athrow
         7: .line 928
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public static java.lang.Runnable onSchedule(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)Ljava/lang/Runnable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Runnable runnable
         0: .line 937
            getstatic reactor.core.scheduler.Schedulers.onScheduleHook:Ljava/util/function/Function;
            astore 1 /* hook */
        start local 1 // java.util.function.Function hook
         1: .line 938
            aload 1 /* hook */
            ifnull 3
         2: .line 939
            aload 1 /* hook */
            aload 0 /* runnable */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Runnable
            areturn
         3: .line 942
      StackMap locals: java.util.function.Function
      StackMap stack:
            aload 0 /* runnable */
            areturn
        end local 1 // java.util.function.Function hook
        end local 0 // java.lang.Runnable runnable
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  runnable  Ljava/lang/Runnable;
            1    4     1      hook  Ljava/util/function/Function<Ljava/lang/Runnable;Ljava/lang/Runnable;>;
    MethodParameters:
          Name  Flags
      runnable  

  public static void shutdownNow();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=0
         0: .line 950
            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 951
            getstatic reactor.core.scheduler.Schedulers.CACHED_BOUNDED_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 1 /* oldBoundedElastic */
        start local 1 // reactor.core.scheduler.Schedulers$CachedScheduler oldBoundedElastic
         2: .line 952
            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 2 /* oldParallel */
        start local 2 // reactor.core.scheduler.Schedulers$CachedScheduler oldParallel
         3: .line 953
            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 3 /* oldSingle */
        start local 3 // reactor.core.scheduler.Schedulers$CachedScheduler oldSingle
         4: .line 955
            aload 0 /* oldElastic */
            ifnull 5
            aload 0 /* oldElastic */
            invokevirtual reactor.core.scheduler.Schedulers$CachedScheduler._dispose:()V
         5: .line 956
      StackMap locals: reactor.core.scheduler.Schedulers$CachedScheduler reactor.core.scheduler.Schedulers$CachedScheduler reactor.core.scheduler.Schedulers$CachedScheduler reactor.core.scheduler.Schedulers$CachedScheduler
      StackMap stack:
            aload 1 /* oldBoundedElastic */
            ifnull 6
            aload 1 /* oldBoundedElastic */
            invokevirtual reactor.core.scheduler.Schedulers$CachedScheduler._dispose:()V
         6: .line 957
      StackMap locals:
      StackMap stack:
            aload 2 /* oldParallel */
            ifnull 7
            aload 2 /* oldParallel */
            invokevirtual reactor.core.scheduler.Schedulers$CachedScheduler._dispose:()V
         7: .line 958
      StackMap locals:
      StackMap stack:
            aload 3 /* oldSingle */
            ifnull 8
            aload 3 /* oldSingle */
            invokevirtual reactor.core.scheduler.Schedulers$CachedScheduler._dispose:()V
         8: .line 959
      StackMap locals:
      StackMap stack:
            return
        end local 3 // reactor.core.scheduler.Schedulers$CachedScheduler oldSingle
        end local 2 // reactor.core.scheduler.Schedulers$CachedScheduler oldParallel
        end local 1 // reactor.core.scheduler.Schedulers$CachedScheduler oldBoundedElastic
        end local 0 // reactor.core.scheduler.Schedulers$CachedScheduler oldElastic
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            1    9     0         oldElastic  Lreactor/core/scheduler/Schedulers$CachedScheduler;
            2    9     1  oldBoundedElastic  Lreactor/core/scheduler/Schedulers$CachedScheduler;
            3    9     2        oldParallel  Lreactor/core/scheduler/Schedulers$CachedScheduler;
            4    9     3          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 969
            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 988
            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 1164
            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 1165
            aload 3 /* s */
            ifnull 3
         2: .line 1166
            aload 3 /* s */
            areturn
         3: .line 1168
      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 1169
            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 1170
            aload 3 /* s */
            areturn
         6: .line 1174
      StackMap locals:
      StackMap stack:
            aload 3 /* s */
            invokevirtual reactor.core.scheduler.Schedulers$CachedScheduler._dispose:()V
         7: .line 1175
            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 1181
            getstatic reactor.core.scheduler.Schedulers.LOGGER: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 1182
            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 1181
            invokeinterface reactor.util.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
         3: .line 1183
            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=5, args_size=1
        start local 0 // java.lang.Throwable ex
         0: .line 1186
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 1 /* thread */
        start local 1 // java.lang.Thread thread
         1: .line 1187
            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 1188
            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 1189
            aload 3 /* x */
            ifnull 6
         4: .line 1190
            aload 3 /* x */
            aload 1 /* thread */
            aload 2 /* t */
            invokeinterface java.lang.Thread$UncaughtExceptionHandler.uncaughtException:(Ljava/lang/Thread;Ljava/lang/Throwable;)V
         5: .line 1191
            goto 7
         6: .line 1193
      StackMap locals: java.lang.Thread java.lang.Throwable java.lang.Thread$UncaughtExceptionHandler
      StackMap stack:
            getstatic reactor.core.scheduler.Schedulers.LOGGER: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 1195
      StackMap locals:
      StackMap stack:
            getstatic reactor.core.scheduler.Schedulers.onHandleErrorHook:Ljava/util/function/BiConsumer;
            astore 4 /* hook */
        start local 4 // java.util.function.BiConsumer hook
         8: .line 1196
            aload 4 /* hook */
            ifnull 10
         9: .line 1197
            aload 4 /* hook */
            aload 1 /* thread */
            aload 2 /* t */
            invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 1199
      StackMap locals: java.util.function.BiConsumer
      StackMap stack:
            return
        end local 4 // java.util.function.BiConsumer hook
        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   11     0      ex  Ljava/lang/Throwable;
            1   11     1  thread  Ljava/lang/Thread;
            2   11     2       t  Ljava/lang/Throwable;
            3   11     3       x  Ljava/lang/Thread$UncaughtExceptionHandler;
            8   11     4    hook  Ljava/util/function/BiConsumer<Ljava/lang/Thread;-Ljava/lang/Throwable;>;
    MethodParameters:
      Name  Flags
      ex    

  static reactor.core.Disposable directSchedule(java.util.concurrent.ScheduledExecutorService, java.lang.Runnable, reactor.core.Disposable, long, java.util.concurrent.TimeUnit);
    descriptor: (Ljava/util/concurrent/ScheduledExecutorService;Ljava/lang/Runnable;Lreactor/core/Disposable;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 // java.lang.Runnable task
        start local 2 // reactor.core.Disposable parent
        start local 3 // long delay
        start local 5 // java.util.concurrent.TimeUnit unit
         0: .line 1285
            aload 1 /* task */
            invokestatic reactor.core.scheduler.Schedulers.onSchedule:(Ljava/lang/Runnable;)Ljava/lang/Runnable;
            astore 1 /* task */
         1: .line 1286
            new reactor.core.scheduler.SchedulerTask
            dup
            aload 1 /* task */
            aload 2 /* parent */
            invokespecial reactor.core.scheduler.SchedulerTask.<init>:(Ljava/lang/Runnable;Lreactor/core/Disposable;)V
            astore 6 /* sr */
        start local 6 // reactor.core.scheduler.SchedulerTask sr
         2: .line 1288
            lload 3 /* delay */
            lconst_0
            lcmp
            ifgt 5
         3: .line 1289
            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
         4: .line 1290
            goto 6
        end local 7 // java.util.concurrent.Future f
         5: .line 1292
      StackMap locals: reactor.core.scheduler.SchedulerTask
      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
         6: .line 1294
      StackMap locals: java.util.concurrent.Future
      StackMap stack:
            aload 6 /* sr */
            aload 7 /* f */
            invokevirtual reactor.core.scheduler.SchedulerTask.setFuture:(Ljava/util/concurrent/Future;)V
         7: .line 1296
            aload 6 /* sr */
            areturn
        end local 7 // java.util.concurrent.Future f
        end local 6 // reactor.core.scheduler.SchedulerTask sr
        end local 5 // java.util.concurrent.TimeUnit unit
        end local 3 // long delay
        end local 2 // reactor.core.Disposable parent
        end local 1 // java.lang.Runnable task
        end local 0 // java.util.concurrent.ScheduledExecutorService exec
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    exec  Ljava/util/concurrent/ScheduledExecutorService;
            0    8     1    task  Ljava/lang/Runnable;
            0    8     2  parent  Lreactor/core/Disposable;
            0    8     3   delay  J
            0    8     5    unit  Ljava/util/concurrent/TimeUnit;
            2    8     6      sr  Lreactor/core/scheduler/SchedulerTask;
            4    5     7       f  Ljava/util/concurrent/Future<*>;
            6    8     7       f  Ljava/util/concurrent/Future<*>;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        reactor.util.annotation.Nullable()
      3:
      4:
    MethodParameters:
        Name  Flags
      exec    
      task    
      parent  
      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 1304
            aload 1 /* task */
            invokestatic reactor.core.scheduler.Schedulers.onSchedule:(Ljava/lang/Runnable;)Ljava/lang/Runnable;
            astore 1 /* task */
         1: .line 1306
            lload 4 /* period */
            lconst_0
            lcmp
            ifgt 10
         2: .line 1308
            new reactor.core.scheduler.InstantPeriodicWorkerTask
            dup
            aload 1 /* task */
            aload 0 /* exec */
            invokespecial reactor.core.scheduler.InstantPeriodicWorkerTask.<init>:(Ljava/lang/Runnable;Ljava/util/concurrent/ExecutorService;)V
         3: .line 1307
            astore 7 /* isr */
        start local 7 // reactor.core.scheduler.InstantPeriodicWorkerTask isr
         4: .line 1310
            lload 2 /* initialDelay */
            lconst_0
            lcmp
            ifgt 7
         5: .line 1311
            aload 0 /* exec */
            aload 7 /* isr */
            invokeinterface java.util.concurrent.ScheduledExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
            astore 8 /* f */
        start local 8 // java.util.concurrent.Future f
         6: .line 1312
            goto 8
        end local 8 // java.util.concurrent.Future f
         7: .line 1314
      StackMap locals: reactor.core.scheduler.InstantPeriodicWorkerTask
      StackMap stack:
            aload 0 /* exec */
            aload 7 /* isr */
            lload 2 /* initialDelay */
            aload 6 /* unit */
            invokeinterface java.util.concurrent.ScheduledExecutorService.schedule:(Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            astore 8 /* f */
        start local 8 // java.util.concurrent.Future f
         8: .line 1316
      StackMap locals: java.util.concurrent.Future
      StackMap stack:
            aload 7 /* isr */
            aload 8 /* f */
            invokevirtual reactor.core.scheduler.InstantPeriodicWorkerTask.setFirst:(Ljava/util/concurrent/Future;)V
         9: .line 1318
            aload 7 /* isr */
            areturn
        end local 8 // java.util.concurrent.Future f
        end local 7 // reactor.core.scheduler.InstantPeriodicWorkerTask isr
        10: .line 1321
      StackMap locals:
      StackMap stack:
            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
        11: .line 1322
            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
        12: .line 1323
            aload 7 /* sr */
            aload 8 /* f */
            invokevirtual reactor.core.scheduler.PeriodicSchedulerTask.setFuture:(Ljava/util/concurrent/Future;)V
        13: .line 1325
            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   14     0          exec  Ljava/util/concurrent/ScheduledExecutorService;
            0   14     1          task  Ljava/lang/Runnable;
            0   14     2  initialDelay  J
            0   14     4        period  J
            0   14     6          unit  Ljava/util/concurrent/TimeUnit;
            4   10     7           isr  Lreactor/core/scheduler/InstantPeriodicWorkerTask;
            6    7     8             f  Ljava/util/concurrent/Future<*>;
            8   10     8             f  Ljava/util/concurrent/Future<*>;
           11   14     7            sr  Lreactor/core/scheduler/PeriodicSchedulerTask;
           12   14     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 1334
            aload 2 /* task */
            invokestatic reactor.core.scheduler.Schedulers.onSchedule:(Ljava/lang/Runnable;)Ljava/lang/Runnable;
            astore 2 /* task */
         1: .line 1336
            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
         2: .line 1337
            aload 1 /* tasks */
            aload 6 /* sr */
            invokeinterface reactor.core.Disposable$Composite.add:(Lreactor/core/Disposable;)Z
            ifne 4
         3: .line 1338
            invokestatic reactor.core.Exceptions.failWithRejected:()Ljava/util/concurrent/RejectedExecutionException;
            athrow
         4: .line 1343
      StackMap locals: reactor.core.scheduler.WorkerTask
      StackMap stack:
            lload 3 /* delay */
            lconst_0
            lcmp
            ifgt 7
         5: .line 1344
            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
         6: .line 1345
            goto 8
        end local 7 // java.util.concurrent.Future f
         7: .line 1347
      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
         8: .line 1349
      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
         9: .line 1350
            goto 13
        10: .line 1351
      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
        11: .line 1352
            aload 6 /* sr */
            invokevirtual reactor.core.scheduler.WorkerTask.dispose:()V
        12: .line 1354
            aload 7 /* ex */
            athrow
        end local 7 // java.util.concurrent.RejectedExecutionException ex
        13: .line 1357
      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   14     0   exec  Ljava/util/concurrent/ScheduledExecutorService;
            0   14     1  tasks  Lreactor/core/Disposable$Composite;
            0   14     2   task  Ljava/lang/Runnable;
            0   14     3  delay  J
            0   14     5   unit  Ljava/util/concurrent/TimeUnit;
            2   14     6     sr  Lreactor/core/scheduler/WorkerTask;
            6    7     7      f  Ljava/util/concurrent/Future<*>;
            8    9     7      f  Ljava/util/concurrent/Future<*>;
           11   13     7     ex  Ljava/util/concurrent/RejectedExecutionException;
      Exception table:
        from    to  target  type
           4     9      10  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 1366
            aload 2 /* task */
            invokestatic reactor.core.scheduler.Schedulers.onSchedule:(Ljava/lang/Runnable;)Ljava/lang/Runnable;
            astore 2 /* task */
         1: .line 1368
            lload 5 /* period */
            lconst_0
            lcmp
            ifgt 19
         2: .line 1370
            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
         3: .line 1369
            astore 8 /* isr */
        start local 8 // reactor.core.scheduler.InstantPeriodicWorkerTask isr
         4: .line 1371
            aload 1 /* tasks */
            aload 8 /* isr */
            invokeinterface reactor.core.Disposable$Composite.add:(Lreactor/core/Disposable;)Z
            ifne 6
         5: .line 1372
            invokestatic reactor.core.Exceptions.failWithRejected:()Ljava/util/concurrent/RejectedExecutionException;
            athrow
         6: .line 1376
      StackMap locals: reactor.core.scheduler.InstantPeriodicWorkerTask
      StackMap stack:
            lload 3 /* initialDelay */
            lconst_0
            lcmp
            ifgt 9
         7: .line 1377
            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
         8: .line 1378
            goto 10
        end local 9 // java.util.concurrent.Future f
         9: .line 1380
      StackMap locals:
      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
        10: .line 1382
      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
        11: .line 1383
            goto 18
        12: .line 1384
      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
        13: .line 1385
            aload 8 /* isr */
            invokevirtual reactor.core.scheduler.InstantPeriodicWorkerTask.dispose:()V
        14: .line 1387
            aload 9 /* ex */
            athrow
        end local 9 // java.util.concurrent.RejectedExecutionException ex
        15: .line 1389
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 9 /* ex */
        start local 9 // java.lang.RuntimeException ex
        16: .line 1390
            aload 8 /* isr */
            invokevirtual reactor.core.scheduler.InstantPeriodicWorkerTask.dispose:()V
        17: .line 1392
            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
        18: .line 1395
      StackMap locals:
      StackMap stack:
            aload 8 /* isr */
            areturn
        end local 8 // reactor.core.scheduler.InstantPeriodicWorkerTask isr
        19: .line 1398
      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
        20: .line 1399
            aload 1 /* tasks */
            aload 8 /* sr */
            invokeinterface reactor.core.Disposable$Composite.add:(Lreactor/core/Disposable;)Z
            ifne 22
        21: .line 1400
            invokestatic reactor.core.Exceptions.failWithRejected:()Ljava/util/concurrent/RejectedExecutionException;
            athrow
        22: .line 1404
      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
        23: .line 1405
            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
        24: .line 1406
            goto 31
        25: .line 1407
      StackMap locals:
      StackMap stack: java.util.concurrent.RejectedExecutionException
            astore 9 /* ex */
        start local 9 // java.util.concurrent.RejectedExecutionException ex
        26: .line 1408
            aload 8 /* sr */
            invokevirtual reactor.core.scheduler.PeriodicWorkerTask.dispose:()V
        27: .line 1410
            aload 9 /* ex */
            athrow
        end local 9 // java.util.concurrent.RejectedExecutionException ex
        28: .line 1412
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 9 /* ex */
        start local 9 // java.lang.RuntimeException ex
        29: .line 1413
            aload 8 /* sr */
            invokevirtual reactor.core.scheduler.PeriodicWorkerTask.dispose:()V
        30: .line 1415
            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
        31: .line 1418
      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   32     0          exec  Ljava/util/concurrent/ScheduledExecutorService;
            0   32     1         tasks  Lreactor/core/Disposable$Composite;
            0   32     2          task  Ljava/lang/Runnable;
            0   32     3  initialDelay  J
            0   32     5        period  J
            0   32     7          unit  Ljava/util/concurrent/TimeUnit;
            4   19     8           isr  Lreactor/core/scheduler/InstantPeriodicWorkerTask;
            8    9     9             f  Ljava/util/concurrent/Future<*>;
           10   11     9             f  Ljava/util/concurrent/Future<*>;
           13   15     9            ex  Ljava/util/concurrent/RejectedExecutionException;
           16   18     9            ex  Ljava/lang/RuntimeException;
           20   32     8            sr  Lreactor/core/scheduler/PeriodicWorkerTask;
           23   24     9             f  Ljava/util/concurrent/Future<*>;
           26   28     9            ex  Ljava/util/concurrent/RejectedExecutionException;
           29   31     9            ex  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           6    11      12  Class java.util.concurrent.RejectedExecutionException
           6    11      15  Class java.lang.IllegalArgumentException
           6    11      15  Class java.lang.NullPointerException
          22    24      25  Class java.util.concurrent.RejectedExecutionException
          22    24      28  Class java.lang.IllegalArgumentException
          22    24      28  Class java.lang.NullPointerException
    MethodParameters:
              Name  Flags
      exec          
      tasks         
      task          
      initialDelay  
      period        
      unit          

  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 1437
            aload 0 /* executor */
            instanceof reactor.core.scheduler.DelegateServiceScheduler$UnsupportedScheduledExecutorService
            ifeq 2
         1: .line 1438
            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 1440
      StackMap locals:
      StackMap stack:
            aload 0 /* executor */
            instanceof reactor.core.Scannable
            ifeq 4
         3: .line 1441
            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 1444
      StackMap locals:
      StackMap stack:
            aload 0 /* executor */
            instanceof java.util.concurrent.ExecutorService
            ifeq 8
         5: .line 1445
            aload 0 /* executor */
            checkcast java.util.concurrent.ExecutorService
            astore 2 /* service */
        start local 2 // java.util.concurrent.ExecutorService service
         6: .line 1446
            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 1447
      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 1450
      StackMap locals:
      StackMap stack:
            aload 0 /* executor */
            instanceof java.util.concurrent.ThreadPoolExecutor
            ifeq 13
         9: .line 1451
            aload 0 /* executor */
            checkcast java.util.concurrent.ThreadPoolExecutor
            astore 2 /* poolExecutor */
        start local 2 // java.util.concurrent.ThreadPoolExecutor poolExecutor
        10: .line 1452
            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 1453
      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 1454
      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 1457
      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 80
            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 java.lang.Integer lambda$3();
    descriptor: ()Ljava/lang/Integer;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 93
            bipush 10
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.availableProcessors:()I
            imul
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static reactor.core.scheduler.Scheduler lambda$5();
    descriptor: ()Lreactor/core/scheduler/Scheduler;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 1128
            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$6();
    descriptor: ()Lreactor/core/scheduler/Scheduler;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 1131
            getstatic reactor.core.scheduler.Schedulers.DEFAULT_BOUNDED_ELASTIC_SIZE:I
            getstatic reactor.core.scheduler.Schedulers.DEFAULT_BOUNDED_ELASTIC_QUEUESIZE:I
         1: .line 1132
            ldc "boundedElastic"
            bipush 60
            iconst_1
         2: .line 1131
            invokestatic reactor.core.scheduler.Schedulers.newBoundedElastic:(IILjava/lang/String;IZ)Lreactor/core/scheduler/Scheduler;
         3: .line 1132
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static reactor.core.scheduler.Scheduler lambda$7();
    descriptor: ()Lreactor/core/scheduler/Scheduler;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 1135
            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$8();
    descriptor: ()Lreactor/core/scheduler/Scheduler;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 1137
            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  reactor.core.scheduler.Schedulers$Snapshot
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
  public final Snapshot = reactor.core.scheduler.Schedulers$Snapshot of reactor.core.scheduler.Schedulers