public class org.hibernate.stat.internal.NaturalIdStatisticsImpl extends org.hibernate.stat.internal.AbstractCacheableDataStatistics implements org.hibernate.stat.NaturalIdStatistics, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.stat.internal.NaturalIdStatisticsImpl
  super_class: org.hibernate.stat.internal.AbstractCacheableDataStatistics
{
  private final java.lang.String rootEntityName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.atomic.AtomicLong executionCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.atomic.AtomicLong executionMaxTime;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.atomic.AtomicLong executionMinTime;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.atomic.AtomicLong totalExecutionTime;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.locks.Lock readLock;
    descriptor: Ljava/util/concurrent/locks/Lock;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.locks.Lock writeLock;
    descriptor: Ljava/util/concurrent/locks/Lock;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(org.hibernate.persister.entity.EntityPersister);
    descriptor: (Lorg/hibernate/persister/entity/EntityPersister;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.stat.internal.NaturalIdStatisticsImpl this
        start local 1 // org.hibernate.persister.entity.EntityPersister rootEntityDescriptor
         0: .line 36
            aload 0 /* this */
         1: .line 37
            aload 1 /* rootEntityDescriptor */
            invokedynamic get(Lorg/hibernate/persister/entity/EntityPersister;)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;
                  org/hibernate/stat/internal/NaturalIdStatisticsImpl.lambda$0(Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/cache/spi/Region; (6)
                  ()Lorg/hibernate/cache/spi/Region;
            invokespecial org.hibernate.stat.internal.AbstractCacheableDataStatistics.<init>:(Ljava/util/function/Supplier;)V
         2: .line 27
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
            putfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.executionCount:Ljava/util/concurrent/atomic/AtomicLong;
         3: .line 28
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
            putfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.executionMaxTime:Ljava/util/concurrent/atomic/AtomicLong;
         4: .line 29
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            ldc 9223372036854775807
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
            putfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.executionMinTime:Ljava/util/concurrent/atomic/AtomicLong;
         5: .line 30
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
            putfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.totalExecutionTime:Ljava/util/concurrent/atomic/AtomicLong;
         6: .line 41
            aload 0 /* this */
            aload 1 /* rootEntityDescriptor */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getRootEntityName:()Ljava/lang/String;
            putfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.rootEntityName:Ljava/lang/String;
         7: .line 42
            new java.util.concurrent.locks.ReentrantReadWriteLock
            dup
            invokespecial java.util.concurrent.locks.ReentrantReadWriteLock.<init>:()V
            astore 2 /* lock */
        start local 2 // java.util.concurrent.locks.ReadWriteLock lock
         8: .line 43
            aload 0 /* this */
            aload 2 /* lock */
            invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
            putfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.readLock:Ljava/util/concurrent/locks/Lock;
         9: .line 44
            aload 0 /* this */
            aload 2 /* lock */
            invokeinterface java.util.concurrent.locks.ReadWriteLock.writeLock:()Ljava/util/concurrent/locks/Lock;
            putfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.writeLock:Ljava/util/concurrent/locks/Lock;
        10: .line 45
            return
        end local 2 // java.util.concurrent.locks.ReadWriteLock lock
        end local 1 // org.hibernate.persister.entity.EntityPersister rootEntityDescriptor
        end local 0 // org.hibernate.stat.internal.NaturalIdStatisticsImpl this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   11     0                  this  Lorg/hibernate/stat/internal/NaturalIdStatisticsImpl;
            0   11     1  rootEntityDescriptor  Lorg/hibernate/persister/entity/EntityPersister;
            8   11     2                  lock  Ljava/util/concurrent/locks/ReadWriteLock;
    MethodParameters:
                      Name  Flags
      rootEntityDescriptor  

  public long getExecutionCount();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.stat.internal.NaturalIdStatisticsImpl this
         0: .line 52
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.executionCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lreturn
        end local 0 // org.hibernate.stat.internal.NaturalIdStatisticsImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/stat/internal/NaturalIdStatisticsImpl;

  public long getExecutionAvgTime();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.hibernate.stat.internal.NaturalIdStatisticsImpl this
         0: .line 63
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 65
            lconst_0
            lstore 1 /* avgExecutionTime */
        start local 1 // long avgExecutionTime
         2: .line 66
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.executionCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lconst_0
            lcmp
            ifle 4
         3: .line 67
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.totalExecutionTime:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.executionCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            ldiv
            lstore 1 /* avgExecutionTime */
         4: .line 69
      StackMap locals: long
      StackMap stack:
            lload 1 /* avgExecutionTime */
            lstore 4
         5: .line 72
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         6: .line 69
            lload 4
            lreturn
        end local 1 // long avgExecutionTime
         7: .line 71
      StackMap locals: org.hibernate.stat.internal.NaturalIdStatisticsImpl
      StackMap stack: java.lang.Throwable
            astore 3
         8: .line 72
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         9: .line 73
            aload 3
            athrow
        end local 0 // org.hibernate.stat.internal.NaturalIdStatisticsImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Lorg/hibernate/stat/internal/NaturalIdStatisticsImpl;
            2    7     1  avgExecutionTime  J
      Exception table:
        from    to  target  type
           1     5       7  any

  public long getExecutionMaxTime();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.stat.internal.NaturalIdStatisticsImpl this
         0: .line 81
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.executionMaxTime:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lreturn
        end local 0 // org.hibernate.stat.internal.NaturalIdStatisticsImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/stat/internal/NaturalIdStatisticsImpl;

  public long getExecutionMinTime();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.stat.internal.NaturalIdStatisticsImpl this
         0: .line 89
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.executionMinTime:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lreturn
        end local 0 // org.hibernate.stat.internal.NaturalIdStatisticsImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/stat/internal/NaturalIdStatisticsImpl;

  void queryExecuted(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.hibernate.stat.internal.NaturalIdStatisticsImpl this
        start local 1 // long time
         0: .line 95
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.readLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 99
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.executionMinTime:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lstore 3 /* old */
        start local 3 // long old
         2: goto 4
      StackMap locals: long
      StackMap stack:
         3: aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.executionMinTime:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lstore 3 /* old */
      StackMap locals:
      StackMap stack:
         4: lload 1 /* time */
            lload 3 /* old */
            lcmp
            ifge 5
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.executionMinTime:Ljava/util/concurrent/atomic/AtomicLong;
            lload 3 /* old */
            lload 1 /* time */
            invokevirtual java.util.concurrent.atomic.AtomicLong.compareAndSet:(JJ)Z
            ifeq 3
        end local 3 // long old
         5: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.executionMaxTime:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lstore 3 /* old */
        start local 3 // long old
         6: goto 8
      StackMap locals: long
      StackMap stack:
         7: aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.executionMaxTime:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lstore 3 /* old */
      StackMap locals:
      StackMap stack:
         8: lload 1 /* time */
            lload 3 /* old */
            lcmp
            ifle 9
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.executionMaxTime:Ljava/util/concurrent/atomic/AtomicLong;
            lload 3 /* old */
            lload 1 /* time */
            invokevirtual java.util.concurrent.atomic.AtomicLong.compareAndSet:(JJ)Z
            ifeq 7
        end local 3 // long old
         9: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.executionCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.getAndIncrement:()J
            pop2
        10: .line 105
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.totalExecutionTime:Ljava/util/concurrent/atomic/AtomicLong;
            lload 1 /* time */
            invokevirtual java.util.concurrent.atomic.AtomicLong.addAndGet:(J)J
            pop2
        11: .line 106
            goto 15
        12: .line 107
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        13: .line 108
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.readLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        14: .line 109
            aload 5
            athrow
        15: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.readLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        16: .line 110
            return
        end local 1 // long time
        end local 0 // org.hibernate.stat.internal.NaturalIdStatisticsImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lorg/hibernate/stat/internal/NaturalIdStatisticsImpl;
            0   17     1  time  J
            2    5     3   old  J
            6    9     3   old  J
      Exception table:
        from    to  target  type
           1    12      12  any
    MethodParameters:
      Name  Flags
      time  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.hibernate.stat.internal.NaturalIdStatisticsImpl this
         0: .line 114
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
         1: .line 115
            ldc "NaturalIdCacheStatistics"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 116
            ldc "[rootEntityName="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.rootEntityName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 117
            ldc ",executionCount="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.executionCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         4: .line 118
            ldc ",executionAvgTime="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.hibernate.stat.internal.NaturalIdStatisticsImpl.getExecutionAvgTime:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
         5: .line 119
            ldc ",executionMinTime="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.executionMinTime:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         6: .line 120
            ldc ",executionMaxTime="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.stat.internal.NaturalIdStatisticsImpl.executionMaxTime:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         7: .line 114
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         8: .line 121
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual org.hibernate.stat.internal.NaturalIdStatisticsImpl.appendCacheStats:(Ljava/lang/StringBuilder;)V
         9: .line 122
            aload 1 /* buf */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder buf
        end local 0 // org.hibernate.stat.internal.NaturalIdStatisticsImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/hibernate/stat/internal/NaturalIdStatisticsImpl;
            8   10     1   buf  Ljava/lang/StringBuilder;

  private static org.hibernate.cache.spi.Region lambda$0(org.hibernate.persister.entity.EntityPersister);
    descriptor: (Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/cache/spi/Region;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 37
            aload 0
            invokeinterface org.hibernate.persister.entity.EntityPersister.getNaturalIdCacheAccessStrategy:()Lorg/hibernate/cache/spi/access/NaturalIdDataAccess;
            ifnull 2
         1: .line 38
            aload 0
            invokeinterface org.hibernate.persister.entity.EntityPersister.getNaturalIdCacheAccessStrategy:()Lorg/hibernate/cache/spi/access/NaturalIdDataAccess;
            invokeinterface org.hibernate.cache.spi.access.NaturalIdDataAccess.getRegion:()Lorg/hibernate/cache/spi/DomainDataRegion;
            goto 3
         2: .line 39
      StackMap locals:
      StackMap stack:
            aconst_null
      StackMap locals:
      StackMap stack: org.hibernate.cache.spi.DomainDataRegion
         3: areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "NaturalIdStatisticsImpl.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles