class org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor
  super_class: java.lang.Object
{
  private final java.util.concurrent.ScheduledThreadPoolExecutor scheduler;
    descriptor: Ljava/util/concurrent/ScheduledThreadPoolExecutor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
         0: .line 36
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 38
            aload 0 /* this */
            new org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$1
            dup
            aload 0 /* this */
            iconst_1
            ldc "scheduled"
            invokestatic org.ehcache.impl.internal.util.ThreadFactoryUtil.threadFactory:(Ljava/lang/String;)Ljava/util/concurrent/ThreadFactory;
            invokespecial org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$1.<init>:(Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;ILjava/util/concurrent/ThreadFactory;)V
            putfield org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.scheduler:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
         2: .line 36
            return
        end local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;

  public java.util.concurrent.BlockingQueue<java.lang.Runnable> getQueue();
    descriptor: ()Ljava/util/concurrent/BlockingQueue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
         0: .line 52
            aload 0 /* this */
            getfield org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.scheduler:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
            invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.getQueue:()Ljava/util/concurrent/BlockingQueue;
            areturn
        end local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;
    Signature: ()Ljava/util/concurrent/BlockingQueue<Ljava/lang/Runnable;>;

  public java.util.concurrent.ScheduledFuture<?> schedule(java.util.concurrent.ExecutorService, java.lang.Runnable, long, java.util.concurrent.TimeUnit);
    descriptor: (Ljava/util/concurrent/ExecutorService;Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
        start local 1 // java.util.concurrent.ExecutorService using
        start local 2 // java.lang.Runnable command
        start local 3 // long delay
        start local 5 // java.util.concurrent.TimeUnit unit
         0: .line 57
            aload 0 /* this */
            getfield org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.scheduler:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
            new org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$ExecutorCarryingRunnable
            dup
            aload 1 /* using */
            aload 2 /* command */
            invokespecial org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$ExecutorCarryingRunnable.<init>:(Ljava/util/concurrent/ExecutorService;Ljava/lang/Runnable;)V
            lload 3 /* delay */
            aload 5 /* unit */
            invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            areturn
        end local 5 // java.util.concurrent.TimeUnit unit
        end local 3 // long delay
        end local 2 // java.lang.Runnable command
        end local 1 // java.util.concurrent.ExecutorService using
        end local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;
            0    1     1    using  Ljava/util/concurrent/ExecutorService;
            0    1     2  command  Ljava/lang/Runnable;
            0    1     3    delay  J
            0    1     5     unit  Ljava/util/concurrent/TimeUnit;
    Signature: (Ljava/util/concurrent/ExecutorService;Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture<*>;
    MethodParameters:
         Name  Flags
      using    
      command  
      delay    
      unit     

  public <V> java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.ExecutorService, java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
    descriptor: (Ljava/util/concurrent/ExecutorService;Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
        start local 1 // java.util.concurrent.ExecutorService using
        start local 2 // java.util.concurrent.Callable callable
        start local 3 // long delay
        start local 5 // java.util.concurrent.TimeUnit unit
         0: .line 62
            aload 0 /* this */
            getfield org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.scheduler:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
            new org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$ExecutorCarryingCallable
            dup
            aload 1 /* using */
            aload 2 /* callable */
            invokespecial org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$ExecutorCarryingCallable.<init>:(Ljava/util/concurrent/ExecutorService;Ljava/util/concurrent/Callable;)V
            lload 3 /* delay */
            aload 5 /* unit */
            invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.schedule:(Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            areturn
        end local 5 // java.util.concurrent.TimeUnit unit
        end local 3 // long delay
        end local 2 // java.util.concurrent.Callable callable
        end local 1 // java.util.concurrent.ExecutorService using
        end local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;
            0    1     1     using  Ljava/util/concurrent/ExecutorService;
            0    1     2  callable  Ljava/util/concurrent/Callable<TV;>;
            0    1     3     delay  J
            0    1     5      unit  Ljava/util/concurrent/TimeUnit;
    Signature: <V:Ljava/lang/Object;>(Ljava/util/concurrent/ExecutorService;Ljava/util/concurrent/Callable<TV;>;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture<TV;>;
    MethodParameters:
          Name  Flags
      using     
      callable  
      delay     
      unit      

  public java.util.concurrent.ScheduledFuture<?> scheduleAtFixedRate(java.util.concurrent.ExecutorService, java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
    descriptor: (Ljava/util/concurrent/ExecutorService;Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
        start local 1 // java.util.concurrent.ExecutorService using
        start local 2 // java.lang.Runnable command
        start local 3 // long initialDelay
        start local 5 // long period
        start local 7 // java.util.concurrent.TimeUnit unit
         0: .line 69
            aload 0 /* this */
            getfield org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.scheduler:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
            new org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$ExecutorCarryingRunnable
            dup
            aload 1 /* using */
            aload 2 /* command */
            invokespecial org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$ExecutorCarryingRunnable.<init>:(Ljava/util/concurrent/ExecutorService;Ljava/lang/Runnable;)V
            lload 3 /* initialDelay */
            lload 5 /* period */
            aload 7 /* unit */
            invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            areturn
        end local 7 // java.util.concurrent.TimeUnit unit
        end local 5 // long period
        end local 3 // long initialDelay
        end local 2 // java.lang.Runnable command
        end local 1 // java.util.concurrent.ExecutorService using
        end local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;
            0    1     1         using  Ljava/util/concurrent/ExecutorService;
            0    1     2       command  Ljava/lang/Runnable;
            0    1     3  initialDelay  J
            0    1     5        period  J
            0    1     7          unit  Ljava/util/concurrent/TimeUnit;
    Signature: (Ljava/util/concurrent/ExecutorService;Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture<*>;
    MethodParameters:
              Name  Flags
      using         
      command       
      initialDelay  
      period        
      unit          

  public java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(java.util.concurrent.ExecutorService, java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
    descriptor: (Ljava/util/concurrent/ExecutorService;Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
        start local 1 // java.util.concurrent.ExecutorService using
        start local 2 // java.lang.Runnable command
        start local 3 // long initialDelay
        start local 5 // long delay
        start local 7 // java.util.concurrent.TimeUnit unit
         0: .line 76
            aload 0 /* this */
            getfield org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.scheduler:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
            new org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$ExecutorCarryingRunnable
            dup
            aload 1 /* using */
            aload 2 /* command */
            invokespecial org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$ExecutorCarryingRunnable.<init>:(Ljava/util/concurrent/ExecutorService;Ljava/lang/Runnable;)V
            lload 3 /* initialDelay */
            lload 5 /* delay */
            aload 7 /* unit */
            invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.scheduleWithFixedDelay:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            areturn
        end local 7 // java.util.concurrent.TimeUnit unit
        end local 5 // long delay
        end local 3 // long initialDelay
        end local 2 // java.lang.Runnable command
        end local 1 // java.util.concurrent.ExecutorService using
        end local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;
            0    1     1         using  Ljava/util/concurrent/ExecutorService;
            0    1     2       command  Ljava/lang/Runnable;
            0    1     3  initialDelay  J
            0    1     5         delay  J
            0    1     7          unit  Ljava/util/concurrent/TimeUnit;
    Signature: (Ljava/util/concurrent/ExecutorService;Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture<*>;
    MethodParameters:
              Name  Flags
      using         
      command       
      initialDelay  
      delay         
      unit          

  public void shutdownNow();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
         0: .line 80
            aload 0 /* this */
            getfield org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.scheduler:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
            invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.shutdownNow:()Ljava/util/List;
            pop
         1: .line 81
            return
        end local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;

  public boolean awaitTermination(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
        start local 1 // long timeout
        start local 3 // java.util.concurrent.TimeUnit unit
         0: .line 85
            aload 0 /* this */
            getfield org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.scheduler:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
            lload 1 /* timeout */
            aload 3 /* unit */
            invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
            ireturn
        end local 3 // java.util.concurrent.TimeUnit unit
        end local 1 // long timeout
        end local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;
            0    1     1  timeout  J
            0    1     3     unit  Ljava/util/concurrent/TimeUnit;
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
         Name  Flags
      timeout  
      unit     

  public boolean isShutdown();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
         0: .line 89
            aload 0 /* this */
            getfield org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.scheduler:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
            invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.isShutdown:()Z
            ireturn
        end local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;

  public boolean isTerminating();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
         0: .line 93
            aload 0 /* this */
            getfield org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.scheduler:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
            invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.isTerminating:()Z
            ireturn
        end local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;

  public boolean isTerminated();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
         0: .line 97
            aload 0 /* this */
            getfield org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.scheduler:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
            invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.isTerminated:()Z
            ireturn
        end local 0 // org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;
}
SourceFile: "OutOfBandScheduledExecutor.java"
NestMembers:
  org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$1  org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$ExecutorCarrier  org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$ExecutorCarryingCallable  org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$ExecutorCarryingRunnable  org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$OutOfBandRsf
InnerClasses:
  org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$1
  abstract ExecutorCarrier = org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$ExecutorCarrier of org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor
  ExecutorCarryingCallable = org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$ExecutorCarryingCallable of org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor
  ExecutorCarryingRunnable = org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$ExecutorCarryingRunnable of org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor
  OutOfBandRsf = org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$OutOfBandRsf of org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor