public class org.apache.commons.lang3.concurrent.TimedSemaphore
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.lang3.concurrent.TimedSemaphore
  super_class: java.lang.Object
{
  public static final int NO_LIMIT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int THREAD_POOL_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private final java.util.concurrent.ScheduledExecutorService executorService;
    descriptor: Ljava/util/concurrent/ScheduledExecutorService;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long period;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.TimeUnit unit;
    descriptor: Ljava/util/concurrent/TimeUnit;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean ownExecutor;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.concurrent.ScheduledFuture<?> task;
    descriptor: Ljava/util/concurrent/ScheduledFuture;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/concurrent/ScheduledFuture<*>;

  private long totalAcquireCount;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long periodCount;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private int limit;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int acquireCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int lastCallsPerPeriod;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean shutdown;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>(long, java.util.concurrent.TimeUnit, int);
    descriptor: (JLjava/util/concurrent/TimeUnit;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
        start local 1 // long timePeriod
        start local 3 // java.util.concurrent.TimeUnit timeUnit
        start local 4 // int limit
         0: .line 197
            aload 0 /* this */
            aconst_null
            lload 1 /* timePeriod */
            aload 3 /* timeUnit */
            iload 4 /* limit */
            invokespecial org.apache.commons.lang3.concurrent.TimedSemaphore.<init>:(Ljava/util/concurrent/ScheduledExecutorService;JLjava/util/concurrent/TimeUnit;I)V
         1: .line 198
            return
        end local 4 // int limit
        end local 3 // java.util.concurrent.TimeUnit timeUnit
        end local 1 // long timePeriod
        end local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/commons/lang3/concurrent/TimedSemaphore;
            0    2     1  timePeriod  J
            0    2     3    timeUnit  Ljava/util/concurrent/TimeUnit;
            0    2     4       limit  I
    MethodParameters:
            Name  Flags
      timePeriod  final
      timeUnit    final
      limit       final

  public void <init>(java.util.concurrent.ScheduledExecutorService, long, java.util.concurrent.TimeUnit, int);
    descriptor: (Ljava/util/concurrent/ScheduledExecutorService;JLjava/util/concurrent/TimeUnit;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
        start local 1 // java.util.concurrent.ScheduledExecutorService service
        start local 2 // long timePeriod
        start local 4 // java.util.concurrent.TimeUnit timeUnit
        start local 5 // int limit
         0: .line 212
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 214
            lconst_1
            ldc 9223372036854775807
            lload 2 /* timePeriod */
            ldc "Time period must be greater than 0!"
            invokestatic org.apache.commons.lang3.Validate.inclusiveBetween:(JJJLjava/lang/String;)V
         2: .line 216
            aload 0 /* this */
            lload 2 /* timePeriod */
            putfield org.apache.commons.lang3.concurrent.TimedSemaphore.period:J
         3: .line 217
            aload 0 /* this */
            aload 4 /* timeUnit */
            putfield org.apache.commons.lang3.concurrent.TimedSemaphore.unit:Ljava/util/concurrent/TimeUnit;
         4: .line 219
            aload 1 /* service */
            ifnull 8
         5: .line 220
            aload 0 /* this */
            aload 1 /* service */
            putfield org.apache.commons.lang3.concurrent.TimedSemaphore.executorService:Ljava/util/concurrent/ScheduledExecutorService;
         6: .line 221
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.lang3.concurrent.TimedSemaphore.ownExecutor:Z
         7: .line 222
            goto 15
         8: .line 223
      StackMap locals: org.apache.commons.lang3.concurrent.TimedSemaphore java.util.concurrent.ScheduledExecutorService long java.util.concurrent.TimeUnit int
      StackMap stack:
            new java.util.concurrent.ScheduledThreadPoolExecutor
            dup
         9: .line 224
            iconst_1
        10: .line 223
            invokespecial java.util.concurrent.ScheduledThreadPoolExecutor.<init>:(I)V
            astore 6 /* s */
        start local 6 // java.util.concurrent.ScheduledThreadPoolExecutor s
        11: .line 225
            aload 6 /* s */
            iconst_0
            invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.setContinueExistingPeriodicTasksAfterShutdownPolicy:(Z)V
        12: .line 226
            aload 6 /* s */
            iconst_0
            invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.setExecuteExistingDelayedTasksAfterShutdownPolicy:(Z)V
        13: .line 227
            aload 0 /* this */
            aload 6 /* s */
            putfield org.apache.commons.lang3.concurrent.TimedSemaphore.executorService:Ljava/util/concurrent/ScheduledExecutorService;
        14: .line 228
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.lang3.concurrent.TimedSemaphore.ownExecutor:Z
        end local 6 // java.util.concurrent.ScheduledThreadPoolExecutor s
        15: .line 231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* limit */
            invokevirtual org.apache.commons.lang3.concurrent.TimedSemaphore.setLimit:(I)V
        16: .line 232
            return
        end local 5 // int limit
        end local 4 // java.util.concurrent.TimeUnit timeUnit
        end local 2 // long timePeriod
        end local 1 // java.util.concurrent.ScheduledExecutorService service
        end local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lorg/apache/commons/lang3/concurrent/TimedSemaphore;
            0   17     1     service  Ljava/util/concurrent/ScheduledExecutorService;
            0   17     2  timePeriod  J
            0   17     4    timeUnit  Ljava/util/concurrent/TimeUnit;
            0   17     5       limit  I
           11   15     6           s  Ljava/util/concurrent/ScheduledThreadPoolExecutor;
    MethodParameters:
            Name  Flags
      service     final
      timePeriod  final
      timeUnit    final
      limit       final

  public final synchronized int getLimit();
    descriptor: ()I
    flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
         0: .line 242
            aload 0 /* this */
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.limit:I
            ireturn
        end local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/lang3/concurrent/TimedSemaphore;

  public final synchronized void setLimit(int);
    descriptor: (I)V
    flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
        start local 1 // int limit
         0: .line 256
            aload 0 /* this */
            iload 1 /* limit */
            putfield org.apache.commons.lang3.concurrent.TimedSemaphore.limit:I
         1: .line 257
            return
        end local 1 // int limit
        end local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/commons/lang3/concurrent/TimedSemaphore;
            0    2     1  limit  I
    MethodParameters:
       Name  Flags
      limit  final

  public synchronized void shutdown();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
         0: .line 265
            aload 0 /* this */
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.shutdown:Z
            ifne 6
         1: .line 267
            aload 0 /* this */
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.ownExecutor:Z
            ifeq 3
         2: .line 270
            aload 0 /* this */
            invokevirtual org.apache.commons.lang3.concurrent.TimedSemaphore.getExecutorService:()Ljava/util/concurrent/ScheduledExecutorService;
            invokeinterface java.util.concurrent.ScheduledExecutorService.shutdownNow:()Ljava/util/List;
            pop
         3: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.task:Ljava/util/concurrent/ScheduledFuture;
            ifnull 5
         4: .line 273
            aload 0 /* this */
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.task:Ljava/util/concurrent/ScheduledFuture;
            iconst_0
            invokeinterface java.util.concurrent.ScheduledFuture.cancel:(Z)Z
            pop
         5: .line 276
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.lang3.concurrent.TimedSemaphore.shutdown:Z
         6: .line 278
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/commons/lang3/concurrent/TimedSemaphore;

  public synchronized boolean isShutdown();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
         0: .line 288
            aload 0 /* this */
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.shutdown:Z
            ireturn
        end local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/lang3/concurrent/TimedSemaphore;

  public synchronized void acquire();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
         0: .line 303
            aload 0 /* this */
            invokevirtual org.apache.commons.lang3.concurrent.TimedSemaphore.prepareAcquire:()V
         1: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.lang3.concurrent.TimedSemaphore.acquirePermit:()Z
            istore 1 /* canPass */
        start local 1 // boolean canPass
         2: .line 308
            iload 1 /* canPass */
            ifne 4
         3: .line 309
            aload 0 /* this */
            invokevirtual java.lang.Object.wait:()V
         4: .line 311
      StackMap locals: int
      StackMap stack:
            iload 1 /* canPass */
            ifeq 1
         5: .line 312
            return
        end local 1 // boolean canPass
        end local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/apache/commons/lang3/concurrent/TimedSemaphore;
            2    6     1  canPass  Z
    Exceptions:
      throws java.lang.InterruptedException

  public synchronized boolean tryAcquire();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
         0: .line 326
            aload 0 /* this */
            invokevirtual org.apache.commons.lang3.concurrent.TimedSemaphore.prepareAcquire:()V
         1: .line 327
            aload 0 /* this */
            invokevirtual org.apache.commons.lang3.concurrent.TimedSemaphore.acquirePermit:()Z
            ireturn
        end local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/lang3/concurrent/TimedSemaphore;

  public synchronized int getLastAcquiresPerPeriod();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
         0: .line 341
            aload 0 /* this */
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.lastCallsPerPeriod:I
            ireturn
        end local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/lang3/concurrent/TimedSemaphore;

  public synchronized int getAcquireCount();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
         0: .line 351
            aload 0 /* this */
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.acquireCount:I
            ireturn
        end local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/lang3/concurrent/TimedSemaphore;

  public synchronized int getAvailablePermits();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
         0: .line 366
            aload 0 /* this */
            invokevirtual org.apache.commons.lang3.concurrent.TimedSemaphore.getLimit:()I
            aload 0 /* this */
            invokevirtual org.apache.commons.lang3.concurrent.TimedSemaphore.getAcquireCount:()I
            isub
            ireturn
        end local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/lang3/concurrent/TimedSemaphore;

  public synchronized double getAverageCallsPerPeriod();
    descriptor: ()D
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
         0: .line 379
            aload 0 /* this */
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.periodCount:J
            lconst_0
            lcmp
            ifne 1
            dconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.totalAcquireCount:J
            l2d
         2: .line 380
            aload 0 /* this */
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.periodCount:J
            l2d
            ddiv
         3: .line 379
      StackMap locals:
      StackMap stack: double
            dreturn
        end local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/lang3/concurrent/TimedSemaphore;

  public long getPeriod();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
         0: .line 391
            aload 0 /* this */
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.period:J
            lreturn
        end local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/lang3/concurrent/TimedSemaphore;

  public java.util.concurrent.TimeUnit getUnit();
    descriptor: ()Ljava/util/concurrent/TimeUnit;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
         0: .line 400
            aload 0 /* this */
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.unit:Ljava/util/concurrent/TimeUnit;
            areturn
        end local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/lang3/concurrent/TimedSemaphore;

  protected java.util.concurrent.ScheduledExecutorService getExecutorService();
    descriptor: ()Ljava/util/concurrent/ScheduledExecutorService;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
         0: .line 409
            aload 0 /* this */
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.executorService:Ljava/util/concurrent/ScheduledExecutorService;
            areturn
        end local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/lang3/concurrent/TimedSemaphore;

  protected java.util.concurrent.ScheduledFuture<?> startTimer();
    descriptor: ()Ljava/util/concurrent/ScheduledFuture;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
         0: .line 420
            aload 0 /* this */
            invokevirtual org.apache.commons.lang3.concurrent.TimedSemaphore.getExecutorService:()Ljava/util/concurrent/ScheduledExecutorService;
            new org.apache.commons.lang3.concurrent.TimedSemaphore$1
            dup
            aload 0 /* this */
            invokespecial org.apache.commons.lang3.concurrent.TimedSemaphore$1.<init>:(Lorg/apache/commons/lang3/concurrent/TimedSemaphore;)V
         1: .line 425
            aload 0 /* this */
            invokevirtual org.apache.commons.lang3.concurrent.TimedSemaphore.getPeriod:()J
            aload 0 /* this */
            invokevirtual org.apache.commons.lang3.concurrent.TimedSemaphore.getPeriod:()J
            aload 0 /* this */
            invokevirtual org.apache.commons.lang3.concurrent.TimedSemaphore.getUnit:()Ljava/util/concurrent/TimeUnit;
         2: .line 420
            invokeinterface java.util.concurrent.ScheduledExecutorService.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            areturn
        end local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/lang3/concurrent/TimedSemaphore;
    Signature: ()Ljava/util/concurrent/ScheduledFuture<*>;

  synchronized void endOfPeriod();
    descriptor: ()V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
         0: .line 434
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.acquireCount:I
            putfield org.apache.commons.lang3.concurrent.TimedSemaphore.lastCallsPerPeriod:I
         1: .line 435
            aload 0 /* this */
            dup
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.totalAcquireCount:J
            aload 0 /* this */
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.acquireCount:I
            i2l
            ladd
            putfield org.apache.commons.lang3.concurrent.TimedSemaphore.totalAcquireCount:J
         2: .line 436
            aload 0 /* this */
            dup
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.periodCount:J
            lconst_1
            ladd
            putfield org.apache.commons.lang3.concurrent.TimedSemaphore.periodCount:J
         3: .line 437
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.lang3.concurrent.TimedSemaphore.acquireCount:I
         4: .line 438
            aload 0 /* this */
            invokevirtual java.lang.Object.notifyAll:()V
         5: .line 439
            return
        end local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/commons/lang3/concurrent/TimedSemaphore;

  private void prepareAcquire();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
         0: .line 446
            aload 0 /* this */
            invokevirtual org.apache.commons.lang3.concurrent.TimedSemaphore.isShutdown:()Z
            ifeq 2
         1: .line 447
            new java.lang.IllegalStateException
            dup
            ldc "TimedSemaphore is shut down!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 450
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.task:Ljava/util/concurrent/ScheduledFuture;
            ifnonnull 4
         3: .line 451
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.commons.lang3.concurrent.TimedSemaphore.startTimer:()Ljava/util/concurrent/ScheduledFuture;
            putfield org.apache.commons.lang3.concurrent.TimedSemaphore.task:Ljava/util/concurrent/ScheduledFuture;
         4: .line 453
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/lang3/concurrent/TimedSemaphore;

  private boolean acquirePermit();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
         0: .line 464
            aload 0 /* this */
            invokevirtual org.apache.commons.lang3.concurrent.TimedSemaphore.getLimit:()I
            ifle 1
            aload 0 /* this */
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.acquireCount:I
            aload 0 /* this */
            invokevirtual org.apache.commons.lang3.concurrent.TimedSemaphore.getLimit:()I
            if_icmpge 3
         1: .line 465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.commons.lang3.concurrent.TimedSemaphore.acquireCount:I
            iconst_1
            iadd
            putfield org.apache.commons.lang3.concurrent.TimedSemaphore.acquireCount:I
         2: .line 466
            iconst_1
            ireturn
         3: .line 468
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.apache.commons.lang3.concurrent.TimedSemaphore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/lang3/concurrent/TimedSemaphore;
}
SourceFile: "TimedSemaphore.java"
NestMembers:
  org.apache.commons.lang3.concurrent.TimedSemaphore$1
InnerClasses:
  org.apache.commons.lang3.concurrent.TimedSemaphore$1