public class org.ehcache.impl.serialization.TransientStateRepository implements org.ehcache.spi.persistence.StateRepository
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.ehcache.impl.serialization.TransientStateRepository
  super_class: java.lang.Object
{
  private final java.util.concurrent.ConcurrentMap<java.lang.String, org.ehcache.spi.persistence.StateHolder<?, ?>> knownHolders;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Lorg/ehcache/spi/persistence/StateHolder<**>;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.ehcache.impl.serialization.TransientStateRepository this
         0: .line 30
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 32
            aload 0 /* this */
            new org.ehcache.impl.internal.concurrent.ConcurrentHashMap
            dup
            invokespecial org.ehcache.impl.internal.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.ehcache.impl.serialization.TransientStateRepository.knownHolders:Ljava/util/concurrent/ConcurrentMap;
         2: .line 30
            return
        end local 0 // org.ehcache.impl.serialization.TransientStateRepository this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/ehcache/impl/serialization/TransientStateRepository;

  public <K extends java.io.Serializable, V extends java.io.Serializable> org.ehcache.spi.persistence.StateHolder<K, V> getPersistentStateHolder(java.lang.String, java.lang.Class<K>, java.lang.Class<V>, java.util.function.Predicate<java.lang.Class<?>>, java.lang.ClassLoader);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;Ljava/util/function/Predicate;Ljava/lang/ClassLoader;)Lorg/ehcache/spi/persistence/StateHolder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=6
        start local 0 // org.ehcache.impl.serialization.TransientStateRepository this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class keyClass
        start local 3 // java.lang.Class valueClass
        start local 4 // java.util.function.Predicate isClassPermitted
        start local 5 // java.lang.ClassLoader classLoader
         0: .line 42
            aload 0 /* this */
            getfield org.ehcache.impl.serialization.TransientStateRepository.knownHolders:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* name */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.ehcache.spi.persistence.StateHolder
            astore 6 /* stateHolder */
        start local 6 // org.ehcache.spi.persistence.StateHolder stateHolder
         1: .line 43
            aload 6 /* stateHolder */
            ifnull 3
         2: .line 44
            aload 6 /* stateHolder */
            areturn
         3: .line 46
      StackMap locals: org.ehcache.spi.persistence.StateHolder
      StackMap stack:
            new org.ehcache.impl.serialization.TransientStateHolder
            dup
            invokespecial org.ehcache.impl.serialization.TransientStateHolder.<init>:()V
            astore 7 /* newHolder */
        start local 7 // org.ehcache.spi.persistence.StateHolder newHolder
         4: .line 47
            aload 0 /* this */
            getfield org.ehcache.impl.serialization.TransientStateRepository.knownHolders:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* name */
            aload 7 /* newHolder */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.ehcache.spi.persistence.StateHolder
            astore 6 /* stateHolder */
         5: .line 48
            aload 6 /* stateHolder */
            ifnonnull 7
         6: .line 49
            aload 7 /* newHolder */
            areturn
         7: .line 51
      StackMap locals: org.ehcache.spi.persistence.StateHolder
      StackMap stack:
            aload 6 /* stateHolder */
            areturn
        end local 7 // org.ehcache.spi.persistence.StateHolder newHolder
        end local 6 // org.ehcache.spi.persistence.StateHolder stateHolder
        end local 5 // java.lang.ClassLoader classLoader
        end local 4 // java.util.function.Predicate isClassPermitted
        end local 3 // java.lang.Class valueClass
        end local 2 // java.lang.Class keyClass
        end local 1 // java.lang.String name
        end local 0 // org.ehcache.impl.serialization.TransientStateRepository this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lorg/ehcache/impl/serialization/TransientStateRepository;
            0    8     1              name  Ljava/lang/String;
            0    8     2          keyClass  Ljava/lang/Class<TK;>;
            0    8     3        valueClass  Ljava/lang/Class<TV;>;
            0    8     4  isClassPermitted  Ljava/util/function/Predicate<Ljava/lang/Class<*>;>;
            0    8     5       classLoader  Ljava/lang/ClassLoader;
            1    8     6       stateHolder  Lorg/ehcache/spi/persistence/StateHolder<TK;TV;>;
            4    8     7         newHolder  Lorg/ehcache/spi/persistence/StateHolder<TK;TV;>;
    Signature: <K::Ljava/io/Serializable;V::Ljava/io/Serializable;>(Ljava/lang/String;Ljava/lang/Class<TK;>;Ljava/lang/Class<TV;>;Ljava/util/function/Predicate<Ljava/lang/Class<*>;>;Ljava/lang/ClassLoader;)Lorg/ehcache/spi/persistence/StateHolder<TK;TV;>;
    MethodParameters:
                  Name  Flags
      name              
      keyClass          
      valueClass        
      isClassPermitted  
      classLoader       
}
SourceFile: "TransientStateRepository.java"