public class org.ehcache.core.EhcacheManager implements org.ehcache.PersistentCacheManager, org.ehcache.core.spi.store.InternalCacheManager
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.ehcache.core.EhcacheManager
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger LOGGER;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final org.ehcache.core.config.DefaultConfiguration configuration;
    descriptor: Lorg/ehcache/core/config/DefaultConfiguration;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.ClassLoader cacheManagerClassLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final java.util.concurrent.ConcurrentMap<java.lang.String, org.ehcache.core.EhcacheManager$CacheHolder> caches;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Lorg/ehcache/core/EhcacheManager$CacheHolder;>;

  private final java.util.concurrent.CopyOnWriteArrayList<org.ehcache.core.events.CacheManagerListener> listeners;
    descriptor: Ljava/util/concurrent/CopyOnWriteArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/CopyOnWriteArrayList<Lorg/ehcache/core/events/CacheManagerListener;>;

  private final org.ehcache.core.StatusTransitioner statusTransitioner;
    descriptor: Lorg/ehcache/core/StatusTransitioner;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String simpleName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final org.ehcache.core.spi.ServiceLocator serviceLocator;
    descriptor: Lorg/ehcache/core/spi/ServiceLocator;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 95
            ldc Lorg/ehcache/core/EhcacheManager;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.ehcache.core.EhcacheManager.LOGGER:Lorg/slf4j/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.ehcache.config.Configuration);
    descriptor: (Lorg/ehcache/config/Configuration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // org.ehcache.config.Configuration config
         0: .line 109
            aload 0 /* this */
            aload 1 /* config */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            iconst_1
            invokespecial org.ehcache.core.EhcacheManager.<init>:(Lorg/ehcache/config/Configuration;Ljava/util/Collection;Z)V
         1: .line 110
            return
        end local 1 // org.ehcache.config.Configuration config
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/ehcache/core/EhcacheManager;
            0    2     1  config  Lorg/ehcache/config/Configuration;
    MethodParameters:
        Name  Flags
      config  

  public void <init>(org.ehcache.config.Configuration, java.util.Collection<org.ehcache.spi.service.Service>);
    descriptor: (Lorg/ehcache/config/Configuration;Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // org.ehcache.config.Configuration config
        start local 2 // java.util.Collection services
         0: .line 113
            aload 0 /* this */
            aload 1 /* config */
            aload 2 /* services */
            iconst_1
            invokespecial org.ehcache.core.EhcacheManager.<init>:(Lorg/ehcache/config/Configuration;Ljava/util/Collection;Z)V
         1: .line 114
            return
        end local 2 // java.util.Collection services
        end local 1 // org.ehcache.config.Configuration config
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/ehcache/core/EhcacheManager;
            0    2     1    config  Lorg/ehcache/config/Configuration;
            0    2     2  services  Ljava/util/Collection<Lorg/ehcache/spi/service/Service;>;
    Signature: (Lorg/ehcache/config/Configuration;Ljava/util/Collection<Lorg/ehcache/spi/service/Service;>;)V
    MethodParameters:
          Name  Flags
      config    
      services  

  public void <init>(org.ehcache.config.Configuration, java.util.Collection<org.ehcache.spi.service.Service>, );
    descriptor: (Lorg/ehcache/config/Configuration;Ljava/util/Collection;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // org.ehcache.config.Configuration config
        start local 2 // java.util.Collection services
        start local 3 // boolean useLoaderInAtomics
         0: .line 117
            aload 0 /* this */
            aload 1 /* config */
            aload 2 /* services */
            invokedynamic apply(Ljava/util/Collection;)Ljava/util/function/UnaryOperator;
              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;
                  org/ehcache/core/EhcacheManager.lambda$0(Ljava/util/Collection;Lorg/ehcache/core/spi/ServiceLocator$DependencySet;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet; (6)
                  (Lorg/ehcache/core/spi/ServiceLocator$DependencySet;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
            iload 3 /* useLoaderInAtomics */
            invokespecial org.ehcache.core.EhcacheManager.<init>:(Lorg/ehcache/config/Configuration;Ljava/util/function/UnaryOperator;Z)V
         1: .line 118
            return
        end local 3 // boolean useLoaderInAtomics
        end local 2 // java.util.Collection services
        end local 1 // org.ehcache.config.Configuration config
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/ehcache/core/EhcacheManager;
            0    2     1              config  Lorg/ehcache/config/Configuration;
            0    2     2            services  Ljava/util/Collection<Lorg/ehcache/spi/service/Service;>;
            0    2     3  useLoaderInAtomics  Z
    Signature: (Lorg/ehcache/config/Configuration;Ljava/util/Collection<Lorg/ehcache/spi/service/Service;>;Z)V
    MethodParameters:
                    Name  Flags
      config              
      services            
      useLoaderInAtomics  

  public void <init>(org.ehcache.config.Configuration, java.util.function.UnaryOperator<org.ehcache.core.spi.ServiceLocator$DependencySet>, );
    descriptor: (Lorg/ehcache/config/Configuration;Ljava/util/function/UnaryOperator;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // org.ehcache.config.Configuration config
        start local 2 // java.util.function.UnaryOperator customization
        start local 3 // boolean useLoaderInAtomics
         0: .line 120
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 101
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.ehcache.core.EhcacheManager.caches:Ljava/util/concurrent/ConcurrentMap;
         2: .line 102
            aload 0 /* this */
            new java.util.concurrent.CopyOnWriteArrayList
            dup
            invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
            putfield org.ehcache.core.EhcacheManager.listeners:Ljava/util/concurrent/CopyOnWriteArrayList;
         3: .line 104
            aload 0 /* this */
            new org.ehcache.core.StatusTransitioner
            dup
            getstatic org.ehcache.core.EhcacheManager.LOGGER:Lorg/slf4j/Logger;
            invokespecial org.ehcache.core.StatusTransitioner.<init>:(Lorg/slf4j/Logger;)V
            putfield org.ehcache.core.EhcacheManager.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
         4: .line 121
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            astore 4 /* simpleName */
        start local 4 // java.lang.String simpleName
         5: .line 122
            aload 0 /* this */
            aload 4 /* simpleName */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 6
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            goto 7
      StackMap locals: org.ehcache.core.EhcacheManager org.ehcache.config.Configuration java.util.function.UnaryOperator int java.lang.String
      StackMap stack: org.ehcache.core.EhcacheManager
         6: aload 4 /* simpleName */
      StackMap locals: org.ehcache.core.EhcacheManager org.ehcache.config.Configuration java.util.function.UnaryOperator int java.lang.String
      StackMap stack: org.ehcache.core.EhcacheManager java.lang.String
         7: putfield org.ehcache.core.EhcacheManager.simpleName:Ljava/lang/String;
         8: .line 123
            aload 0 /* this */
            new org.ehcache.core.config.DefaultConfiguration
            dup
            aload 1 /* config */
            invokespecial org.ehcache.core.config.DefaultConfiguration.<init>:(Lorg/ehcache/config/Configuration;)V
            putfield org.ehcache.core.EhcacheManager.configuration:Lorg/ehcache/core/config/DefaultConfiguration;
         9: .line 124
            aload 0 /* this */
            aload 1 /* config */
            invokeinterface org.ehcache.config.Configuration.getClassLoader:()Ljava/lang/ClassLoader;
            ifnull 10
            aload 1 /* config */
            invokeinterface org.ehcache.config.Configuration.getClassLoader:()Ljava/lang/ClassLoader;
            goto 11
      StackMap locals:
      StackMap stack: org.ehcache.core.EhcacheManager
        10: invokestatic org.ehcache.core.util.ClassLoading.getDefaultClassLoader:()Ljava/lang/ClassLoader;
      StackMap locals: org.ehcache.core.EhcacheManager org.ehcache.config.Configuration java.util.function.UnaryOperator int java.lang.String
      StackMap stack: org.ehcache.core.EhcacheManager java.lang.ClassLoader
        11: putfield org.ehcache.core.EhcacheManager.cacheManagerClassLoader:Ljava/lang/ClassLoader;
        12: .line 125
            aload 0 /* this */
            iload 3 /* useLoaderInAtomics */
            putfield org.ehcache.core.EhcacheManager.useLoaderInAtomics:Z
        13: .line 126
            aload 0 /* this */
            invokevirtual org.ehcache.core.EhcacheManager.validateServicesConfigs:()V
        14: .line 127
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* customization */
            invokevirtual org.ehcache.core.EhcacheManager.resolveServices:(Ljava/util/function/UnaryOperator;)Lorg/ehcache/core/spi/ServiceLocator;
            putfield org.ehcache.core.EhcacheManager.serviceLocator:Lorg/ehcache/core/spi/ServiceLocator;
        15: .line 128
            return
        end local 4 // java.lang.String simpleName
        end local 3 // boolean useLoaderInAtomics
        end local 2 // java.util.function.UnaryOperator customization
        end local 1 // org.ehcache.config.Configuration config
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0                this  Lorg/ehcache/core/EhcacheManager;
            0   16     1              config  Lorg/ehcache/config/Configuration;
            0   16     2       customization  Ljava/util/function/UnaryOperator<Lorg/ehcache/core/spi/ServiceLocator$DependencySet;>;
            0   16     3  useLoaderInAtomics  Z
            5   16     4          simpleName  Ljava/lang/String;
    Signature: (Lorg/ehcache/config/Configuration;Ljava/util/function/UnaryOperator<Lorg/ehcache/core/spi/ServiceLocator$DependencySet;>;Z)V
    MethodParameters:
                    Name  Flags
      config              
      customization       
      useLoaderInAtomics  

  private void validateServicesConfigs();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.ehcache.core.EhcacheManager this
         0: .line 131
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* classes */
        start local 1 // java.util.Set classes
         1: .line 132
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.configuration:Lorg/ehcache/core/config/DefaultConfiguration;
            invokevirtual org.ehcache.core.config.DefaultConfiguration.getServiceCreationConfigurations:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.ehcache.core.EhcacheManager java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.spi.service.ServiceCreationConfiguration
            astore 2 /* service */
        start local 2 // org.ehcache.spi.service.ServiceCreationConfiguration service
         3: .line 133
            aload 1 /* classes */
            aload 2 /* service */
            invokeinterface org.ehcache.spi.service.ServiceCreationConfiguration.getServiceType:()Ljava/lang/Class;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifne 5
         4: .line 134
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Duplicate creation configuration for service "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* service */
            invokeinterface org.ehcache.spi.service.ServiceCreationConfiguration.getServiceType:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // org.ehcache.spi.service.ServiceCreationConfiguration service
         5: .line 132
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 137
            return
        end local 1 // java.util.Set classes
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/ehcache/core/EhcacheManager;
            1    7     1  classes  Ljava/util/Set<Ljava/lang/Class<*>;>;
            3    5     2  service  Lorg/ehcache/spi/service/ServiceCreationConfiguration<*>;

  private org.ehcache.core.spi.ServiceLocator resolveServices(java.util.function.UnaryOperator<org.ehcache.core.spi.ServiceLocator$DependencySet>);
    descriptor: (Ljava/util/function/UnaryOperator;)Lorg/ehcache/core/spi/ServiceLocator;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // java.util.function.UnaryOperator customization
         0: .line 140
            invokestatic org.ehcache.core.spi.ServiceLocator.dependencySet:()Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
         1: .line 141
            ldc Lorg/ehcache/core/spi/store/Store$Provider;
            invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.with:(Ljava/lang/Class;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
         2: .line 142
            ldc Lorg/ehcache/spi/loaderwriter/CacheLoaderWriterProvider;
            invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.with:(Ljava/lang/Class;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
         3: .line 143
            ldc Lorg/ehcache/spi/loaderwriter/WriteBehindProvider;
            invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.with:(Ljava/lang/Class;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
         4: .line 144
            ldc Lorg/ehcache/core/events/CacheEventDispatcherFactory;
            invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.with:(Ljava/lang/Class;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
         5: .line 145
            ldc Lorg/ehcache/core/events/CacheEventListenerProvider;
            invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.with:(Ljava/lang/Class;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
         6: .line 146
            ldc Lorg/ehcache/spi/resilience/ResilienceStrategyProvider;
            invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.with:(Ljava/lang/Class;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
         7: .line 140
            astore 2 /* builder */
        start local 2 // org.ehcache.core.spi.ServiceLocator$DependencySet builder
         8: .line 148
            aload 1 /* customization */
            aload 2 /* builder */
            invokeinterface java.util.function.UnaryOperator.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.ehcache.core.spi.ServiceLocator$DependencySet
            astore 2 /* builder */
         9: .line 150
            aload 2 /* builder */
            ldc Lorg/ehcache/core/spi/service/CacheManagerProviderService;
            invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.contains:(Ljava/lang/Class;)Z
            ifne 11
        10: .line 151
            aload 2 /* builder */
            new org.ehcache.core.DefaultCacheManagerProviderService
            dup
            aload 0 /* this */
            invokespecial org.ehcache.core.DefaultCacheManagerProviderService.<init>:(Lorg/ehcache/core/spi/store/InternalCacheManager;)V
            invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.with:(Lorg/ehcache/spi/service/Service;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
            astore 2 /* builder */
        11: .line 153
      StackMap locals: org.ehcache.core.spi.ServiceLocator$DependencySet
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.configuration:Lorg/ehcache/core/config/DefaultConfiguration;
            invokevirtual org.ehcache.core.config.DefaultConfiguration.getServiceCreationConfigurations:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 14
      StackMap locals: org.ehcache.core.EhcacheManager java.util.function.UnaryOperator org.ehcache.core.spi.ServiceLocator$DependencySet top java.util.Iterator
      StackMap stack:
        12: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.spi.service.ServiceCreationConfiguration
            astore 3 /* serviceConfig */
        start local 3 // org.ehcache.spi.service.ServiceCreationConfiguration serviceConfig
        13: .line 154
            aload 2 /* builder */
            aload 3 /* serviceConfig */
            invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.with:(Lorg/ehcache/spi/service/ServiceCreationConfiguration;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
            astore 2 /* builder */
        end local 3 // org.ehcache.spi.service.ServiceCreationConfiguration serviceConfig
        14: .line 153
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        15: .line 156
            aload 2 /* builder */
            invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.build:()Lorg/ehcache/core/spi/ServiceLocator;
            areturn
        end local 2 // org.ehcache.core.spi.ServiceLocator$DependencySet builder
        end local 1 // java.util.function.UnaryOperator customization
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Lorg/ehcache/core/EhcacheManager;
            0   16     1  customization  Ljava/util/function/UnaryOperator<Lorg/ehcache/core/spi/ServiceLocator$DependencySet;>;
            8   16     2        builder  Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
           13   14     3  serviceConfig  Lorg/ehcache/spi/service/ServiceCreationConfiguration<+Lorg/ehcache/spi/service/Service;>;
    Signature: (Ljava/util/function/UnaryOperator<Lorg/ehcache/core/spi/ServiceLocator$DependencySet;>;)Lorg/ehcache/core/spi/ServiceLocator;
    MethodParameters:
               Name  Flags
      customization  

  org.ehcache.core.StatusTransitioner getStatusTransitioner();
    descriptor: ()Lorg/ehcache/core/StatusTransitioner;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.ehcache.core.EhcacheManager this
         0: .line 165
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            areturn
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/ehcache/core/EhcacheManager;

  public <K, V> org.ehcache.Cache<K, V> getCache(java.lang.String, java.lang.Class<K>, java.lang.Class<V>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;)Lorg/ehcache/Cache;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // java.lang.String alias
        start local 2 // java.lang.Class keyType
        start local 3 // java.lang.Class valueType
         0: .line 170
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            invokevirtual org.ehcache.core.StatusTransitioner.checkAvailable:()V
         1: .line 171
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.caches:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* alias */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.ehcache.core.EhcacheManager$CacheHolder
            astore 4 /* cacheHolder */
        start local 4 // org.ehcache.core.EhcacheManager$CacheHolder cacheHolder
         2: .line 172
            aload 4 /* cacheHolder */
            ifnonnull 4
         3: .line 173
            aconst_null
            areturn
         4: .line 176
      StackMap locals: org.ehcache.core.EhcacheManager$CacheHolder
      StackMap stack:
            aload 4 /* cacheHolder */
            aload 2 /* keyType */
            aload 3 /* valueType */
            invokevirtual org.ehcache.core.EhcacheManager$CacheHolder.retrieve:(Ljava/lang/Class;Ljava/lang/Class;)Lorg/ehcache/core/InternalCache;
         5: areturn
         6: .line 177
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            pop
         7: .line 178
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cache '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' type is <"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* cacheHolder */
            getfield org.ehcache.core.EhcacheManager$CacheHolder.keyType:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 179
            aload 4 /* cacheHolder */
            getfield org.ehcache.core.EhcacheManager$CacheHolder.valueType:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">, but you retrieved it with <"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 180
            aload 2 /* keyType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* valueType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 178
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // org.ehcache.core.EhcacheManager$CacheHolder cacheHolder
        end local 3 // java.lang.Class valueType
        end local 2 // java.lang.Class keyType
        end local 1 // java.lang.String alias
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lorg/ehcache/core/EhcacheManager;
            0   11     1        alias  Ljava/lang/String;
            0   11     2      keyType  Ljava/lang/Class<TK;>;
            0   11     3    valueType  Ljava/lang/Class<TV;>;
            2   11     4  cacheHolder  Lorg/ehcache/core/EhcacheManager$CacheHolder;
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.IllegalArgumentException
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TK;>;Ljava/lang/Class<TV;>;)Lorg/ehcache/Cache<TK;TV;>;
    MethodParameters:
           Name  Flags
      alias      
      keyType    
      valueType  

  public void removeCache(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // java.lang.String alias
         0: .line 187
            aload 1 /* alias */
            ifnonnull 2
         1: .line 188
            new java.lang.NullPointerException
            dup
            ldc "Alias cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* alias */
            iconst_1
            invokevirtual org.ehcache.core.EhcacheManager.removeCache:(Ljava/lang/String;Z)V
         3: .line 191
            return
        end local 1 // java.lang.String alias
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/ehcache/core/EhcacheManager;
            0    4     1  alias  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      alias  final

  private void removeCache(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // java.lang.String alias
        start local 2 // boolean removeFromConfig
         0: .line 200
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            invokevirtual org.ehcache.core.StatusTransitioner.checkAvailable:()V
         1: .line 201
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.caches:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* alias */
            invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.ehcache.core.EhcacheManager$CacheHolder
            astore 3 /* cacheHolder */
        start local 3 // org.ehcache.core.EhcacheManager$CacheHolder cacheHolder
         2: .line 202
            aload 3 /* cacheHolder */
            ifnull 15
         3: .line 203
            aload 3 /* cacheHolder */
            aload 3 /* cacheHolder */
            getfield org.ehcache.core.EhcacheManager$CacheHolder.keyType:Ljava/lang/Class;
            aload 3 /* cacheHolder */
            getfield org.ehcache.core.EhcacheManager$CacheHolder.valueType:Ljava/lang/Class;
            invokevirtual org.ehcache.core.EhcacheManager$CacheHolder.retrieve:(Ljava/lang/Class;Ljava/lang/Class;)Lorg/ehcache/core/InternalCache;
            astore 4 /* ehcache */
        start local 4 // org.ehcache.core.InternalCache ehcache
         4: .line 204
            aload 4 /* ehcache */
            ifnull 14
         5: .line 205
            iload 2 /* removeFromConfig */
            ifeq 7
         6: .line 206
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.configuration:Lorg/ehcache/core/config/DefaultConfiguration;
            aload 1 /* alias */
            invokevirtual org.ehcache.core.config.DefaultConfiguration.removeCacheConfiguration:(Ljava/lang/String;)V
         7: .line 209
      StackMap locals: org.ehcache.core.EhcacheManager$CacheHolder org.ehcache.core.InternalCache
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            invokevirtual org.ehcache.core.StatusTransitioner.isTransitioning:()Z
            ifne 12
         8: .line 210
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.listeners:Ljava/util/concurrent/CopyOnWriteArrayList;
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
            astore 6
            goto 11
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String int org.ehcache.core.EhcacheManager$CacheHolder org.ehcache.core.InternalCache top java.util.Iterator
      StackMap stack:
         9: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.core.events.CacheManagerListener
            astore 5 /* listener */
        start local 5 // org.ehcache.core.events.CacheManagerListener listener
        10: .line 211
            aload 5 /* listener */
            aload 1 /* alias */
            aload 4 /* ehcache */
            invokeinterface org.ehcache.core.events.CacheManagerListener.cacheRemoved:(Ljava/lang/String;Lorg/ehcache/Cache;)V
        end local 5 // org.ehcache.core.events.CacheManagerListener listener
        11: .line 210
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 215
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String int org.ehcache.core.EhcacheManager$CacheHolder org.ehcache.core.InternalCache
      StackMap stack:
            aload 4 /* ehcache */
            invokeinterface org.ehcache.core.InternalCache.close:()V
        13: .line 216
            aload 0 /* this */
            aload 1 /* alias */
            aload 4 /* ehcache */
            invokevirtual org.ehcache.core.EhcacheManager.closeEhcache:(Ljava/lang/String;Lorg/ehcache/core/InternalCache;)V
        14: .line 218
      StackMap locals:
      StackMap stack:
            getstatic org.ehcache.core.EhcacheManager.LOGGER:Lorg/slf4j/Logger;
            ldc "Cache '{}' removed from {}."
            aload 1 /* alias */
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.simpleName:Ljava/lang/String;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 4 // org.ehcache.core.InternalCache ehcache
        15: .line 220
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.ehcache.core.EhcacheManager$CacheHolder cacheHolder
        end local 2 // boolean removeFromConfig
        end local 1 // java.lang.String alias
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   16     0              this  Lorg/ehcache/core/EhcacheManager;
            0   16     1             alias  Ljava/lang/String;
            0   16     2  removeFromConfig  Z
            2   16     3       cacheHolder  Lorg/ehcache/core/EhcacheManager$CacheHolder;
            4   15     4           ehcache  Lorg/ehcache/core/InternalCache<**>;
           10   11     5          listener  Lorg/ehcache/core/events/CacheManagerListener;
    MethodParameters:
                  Name  Flags
      alias             final
      removeFromConfig  final

  protected void closeEhcache(java.lang.String, org.ehcache.core.InternalCache<?, ?>);
    descriptor: (Ljava/lang/String;Lorg/ehcache/core/InternalCache;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // java.lang.String alias
        start local 2 // org.ehcache.core.InternalCache ehcache
         0: .line 230
            aload 2 /* ehcache */
            invokeinterface org.ehcache.core.InternalCache.getRuntimeConfiguration:()Lorg/ehcache/config/CacheRuntimeConfiguration;
            invokeinterface org.ehcache.config.CacheRuntimeConfiguration.getResourcePools:()Lorg/ehcache/config/ResourcePools;
            invokeinterface org.ehcache.config.ResourcePools.getResourceTypeSet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 13
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.core.InternalCache top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.config.ResourceType
            astore 3 /* resourceType */
        start local 3 // org.ehcache.config.ResourceType resourceType
         2: .line 231
            aload 3 /* resourceType */
            invokeinterface org.ehcache.config.ResourceType.isPersistable:()Z
            ifeq 13
         3: .line 232
            aload 2 /* ehcache */
            invokeinterface org.ehcache.core.InternalCache.getRuntimeConfiguration:()Lorg/ehcache/config/CacheRuntimeConfiguration;
         4: .line 233
            invokeinterface org.ehcache.config.CacheRuntimeConfiguration.getResourcePools:()Lorg/ehcache/config/ResourcePools;
         5: .line 234
            aload 3 /* resourceType */
            invokeinterface org.ehcache.config.ResourcePools.getPoolForResource:(Lorg/ehcache/config/ResourceType;)Lorg/ehcache/config/ResourcePool;
         6: .line 232
            astore 5 /* resourcePool */
        start local 5 // org.ehcache.config.ResourcePool resourcePool
         7: .line 235
            aload 5 /* resourcePool */
            invokeinterface org.ehcache.config.ResourcePool.isPersistent:()Z
            ifne 13
         8: .line 236
            aload 0 /* this */
            aload 3 /* resourceType */
            invokevirtual org.ehcache.core.EhcacheManager.getPersistableResourceService:(Lorg/ehcache/config/ResourceType;)Lorg/ehcache/spi/persistence/PersistableResourceService;
            astore 6 /* persistableResourceService */
        start local 6 // org.ehcache.spi.persistence.PersistableResourceService persistableResourceService
         9: .line 238
            aload 6 /* persistableResourceService */
            aload 1 /* alias */
            invokeinterface org.ehcache.spi.persistence.PersistableResourceService.destroy:(Ljava/lang/String;)V
        10: .line 239
            goto 13
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.core.InternalCache org.ehcache.config.ResourceType java.util.Iterator org.ehcache.config.ResourcePool org.ehcache.spi.persistence.PersistableResourceService
      StackMap stack: org.ehcache.CachePersistenceException
        11: astore 7 /* e */
        start local 7 // org.ehcache.CachePersistenceException e
        12: .line 240
            getstatic org.ehcache.core.EhcacheManager.LOGGER:Lorg/slf4j/Logger;
            ldc "Unable to clear persistence space for cache {}"
            aload 1 /* alias */
            aload 7 /* e */
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 7 // org.ehcache.CachePersistenceException e
        end local 6 // org.ehcache.spi.persistence.PersistableResourceService persistableResourceService
        end local 5 // org.ehcache.config.ResourcePool resourcePool
        end local 3 // org.ehcache.config.ResourceType resourceType
        13: .line 230
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.core.InternalCache top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        14: .line 245
            return
        end local 2 // org.ehcache.core.InternalCache ehcache
        end local 1 // java.lang.String alias
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   15     0                        this  Lorg/ehcache/core/EhcacheManager;
            0   15     1                       alias  Ljava/lang/String;
            0   15     2                     ehcache  Lorg/ehcache/core/InternalCache<**>;
            2   13     3                resourceType  Lorg/ehcache/config/ResourceType<*>;
            7   13     5                resourcePool  Lorg/ehcache/config/ResourcePool;
            9   13     6  persistableResourceService  Lorg/ehcache/spi/persistence/PersistableResourceService;
           12   13     7                           e  Lorg/ehcache/CachePersistenceException;
      Exception table:
        from    to  target  type
           9    10      11  Class org.ehcache.CachePersistenceException
    Signature: (Ljava/lang/String;Lorg/ehcache/core/InternalCache<**>;)V
    MethodParameters:
         Name  Flags
      alias    final
      ehcache  final

  public <K, V> org.ehcache.Cache<K, V> createCache(java.lang.String, org.ehcache.config.Builder<? extends org.ehcache.config.CacheConfiguration<K, V>>);
    descriptor: (Ljava/lang/String;Lorg/ehcache/config/Builder;)Lorg/ehcache/Cache;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // java.lang.String alias
        start local 2 // org.ehcache.config.Builder configBuilder
         0: .line 249
            aload 0 /* this */
            aload 1 /* alias */
            aload 2 /* configBuilder */
            invokeinterface org.ehcache.config.Builder.build:()Ljava/lang/Object;
            checkcast org.ehcache.config.CacheConfiguration
            invokevirtual org.ehcache.core.EhcacheManager.createCache:(Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration;)Lorg/ehcache/Cache;
            areturn
        end local 2 // org.ehcache.config.Builder configBuilder
        end local 1 // java.lang.String alias
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/ehcache/core/EhcacheManager;
            0    1     1          alias  Ljava/lang/String;
            0    1     2  configBuilder  Lorg/ehcache/config/Builder<+Lorg/ehcache/config/CacheConfiguration<TK;TV;>;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/String;Lorg/ehcache/config/Builder<+Lorg/ehcache/config/CacheConfiguration<TK;TV;>;>;)Lorg/ehcache/Cache<TK;TV;>;
    MethodParameters:
               Name  Flags
      alias          
      configBuilder  

  public <K, V> org.ehcache.Cache<K, V> createCache(java.lang.String, org.ehcache.config.CacheConfiguration<K, V>);
    descriptor: (Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration;)Lorg/ehcache/Cache;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // java.lang.String alias
        start local 2 // org.ehcache.config.CacheConfiguration config
         0: .line 254
            aload 0 /* this */
            aload 1 /* alias */
            aload 2 /* config */
            iconst_1
            invokevirtual org.ehcache.core.EhcacheManager.createCache:(Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration;Z)Lorg/ehcache/Cache;
            areturn
        end local 2 // org.ehcache.config.CacheConfiguration config
        end local 1 // java.lang.String alias
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/ehcache/core/EhcacheManager;
            0    1     1   alias  Ljava/lang/String;
            0    1     2  config  Lorg/ehcache/config/CacheConfiguration<TK;TV;>;
    Exceptions:
      throws java.lang.IllegalArgumentException
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration<TK;TV;>;)Lorg/ehcache/Cache<TK;TV;>;
    MethodParameters:
        Name  Flags
      alias   final
      config  

  private <K, V> org.ehcache.Cache<K, V> createCache(java.lang.String, org.ehcache.config.CacheConfiguration<K, V>, boolean);
    descriptor: (Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration;Z)Lorg/ehcache/Cache;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=14, args_size=4
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // java.lang.String alias
        start local 2 // org.ehcache.config.CacheConfiguration originalConfig
        start local 3 // boolean addToConfig
         0: .line 258
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            invokevirtual org.ehcache.core.StatusTransitioner.checkAvailable:()V
         1: .line 260
            getstatic org.ehcache.core.EhcacheManager.LOGGER:Lorg/slf4j/Logger;
            ldc "Creating Cache '{}' in {}."
            aload 1 /* alias */
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.simpleName:Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 262
            aload 0 /* this */
            aload 1 /* alias */
            aload 2 /* originalConfig */
            invokevirtual org.ehcache.core.EhcacheManager.adjustConfigurationWithCacheManagerDefaults:(Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration;)Lorg/ehcache/config/CacheConfiguration;
            astore 4 /* config */
        start local 4 // org.ehcache.config.CacheConfiguration config
         3: .line 263
            aload 4 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getKeyType:()Ljava/lang/Class;
            astore 5 /* keyType */
        start local 5 // java.lang.Class keyType
         4: .line 264
            aload 4 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getValueType:()Ljava/lang/Class;
            astore 6 /* valueType */
        start local 6 // java.lang.Class valueType
         5: .line 266
            new org.ehcache.core.EhcacheManager$CacheHolder
            dup
            aload 5 /* keyType */
            aload 6 /* valueType */
            invokespecial org.ehcache.core.EhcacheManager$CacheHolder.<init>:(Ljava/lang/Class;Ljava/lang/Class;)V
            astore 7 /* value */
        start local 7 // org.ehcache.core.EhcacheManager$CacheHolder value
         6: .line 267
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.caches:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* alias */
            aload 7 /* value */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 8
         7: .line 268
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cache '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' already exists"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 271
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration int org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class org.ehcache.core.EhcacheManager$CacheHolder
      StackMap stack:
            aconst_null
            astore 8 /* cache */
        start local 8 // org.ehcache.core.InternalCache cache
         9: .line 273
            iconst_0
            istore 9 /* success */
        start local 9 // boolean success
        10: .line 274
            aconst_null
            astore 10 /* failure */
        start local 10 // java.lang.RuntimeException failure
        11: .line 276
            aload 0 /* this */
            aload 1 /* alias */
            aload 4 /* config */
            aload 5 /* keyType */
            aload 6 /* valueType */
            invokevirtual org.ehcache.core.EhcacheManager.createNewEhcache:(Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration;Ljava/lang/Class;Ljava/lang/Class;)Lorg/ehcache/core/InternalCache;
            astore 8 /* cache */
        12: .line 277
            aload 8 /* cache */
            invokeinterface org.ehcache.core.InternalCache.init:()V
        13: .line 278
            iload 3 /* addToConfig */
            ifeq 16
        14: .line 279
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.configuration:Lorg/ehcache/core/config/DefaultConfiguration;
            aload 1 /* alias */
            aload 8 /* cache */
            invokeinterface org.ehcache.core.InternalCache.getRuntimeConfiguration:()Lorg/ehcache/config/CacheRuntimeConfiguration;
            invokevirtual org.ehcache.core.config.DefaultConfiguration.addCacheConfiguration:(Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration;)V
        15: .line 280
            goto 17
        16: .line 281
      StackMap locals: org.ehcache.core.InternalCache int java.lang.RuntimeException
      StackMap stack:
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.configuration:Lorg/ehcache/core/config/DefaultConfiguration;
            aload 1 /* alias */
            aload 2 /* originalConfig */
            aload 8 /* cache */
            invokeinterface org.ehcache.core.InternalCache.getRuntimeConfiguration:()Lorg/ehcache/config/CacheRuntimeConfiguration;
            invokevirtual org.ehcache.core.config.DefaultConfiguration.replaceCacheConfiguration:(Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration;Lorg/ehcache/config/CacheRuntimeConfiguration;)V
        17: .line 283
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 9 /* success */
        18: .line 284
            goto 29
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
        19: astore 11 /* e */
        start local 11 // java.lang.RuntimeException e
        20: .line 285
            aload 11 /* e */
            astore 10 /* failure */
        end local 11 // java.lang.RuntimeException e
        21: .line 287
            iload 9 /* success */
            ifne 32
        22: .line 288
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.caches:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* alias */
            invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 289
            aload 7 /* value */
            aconst_null
            invokevirtual org.ehcache.core.EhcacheManager$CacheHolder.setCache:(Lorg/ehcache/core/InternalCache;)V
            goto 32
        24: .line 286
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12
        25: .line 287
            iload 9 /* success */
            ifne 28
        26: .line 288
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.caches:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* alias */
            invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 289
            aload 7 /* value */
            aconst_null
            invokevirtual org.ehcache.core.EhcacheManager$CacheHolder.setCache:(Lorg/ehcache/core/InternalCache;)V
        28: .line 291
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration int org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class org.ehcache.core.EhcacheManager$CacheHolder org.ehcache.core.InternalCache int java.lang.RuntimeException top java.lang.Throwable
      StackMap stack:
            aload 12
            athrow
        29: .line 287
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration int org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class org.ehcache.core.EhcacheManager$CacheHolder org.ehcache.core.InternalCache int java.lang.RuntimeException
      StackMap stack:
            iload 9 /* success */
            ifne 32
        30: .line 288
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.caches:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* alias */
            invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 289
            aload 7 /* value */
            aconst_null
            invokevirtual org.ehcache.core.EhcacheManager$CacheHolder.setCache:(Lorg/ehcache/core/InternalCache;)V
        32: .line 293
      StackMap locals:
      StackMap stack:
            aload 10 /* failure */
            ifnonnull 44
        33: .line 295
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            invokevirtual org.ehcache.core.StatusTransitioner.isTransitioning:()Z
            ifne 42
        34: .line 296
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.listeners:Ljava/util/concurrent/CopyOnWriteArrayList;
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
            astore 12
            goto 37
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration int org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class org.ehcache.core.EhcacheManager$CacheHolder org.ehcache.core.InternalCache int java.lang.RuntimeException top java.util.Iterator
      StackMap stack:
        35: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.core.events.CacheManagerListener
            astore 11 /* listener */
        start local 11 // org.ehcache.core.events.CacheManagerListener listener
        36: .line 297
            aload 11 /* listener */
            aload 1 /* alias */
            aload 8 /* cache */
            invokeinterface org.ehcache.core.events.CacheManagerListener.cacheAdded:(Ljava/lang/String;Lorg/ehcache/Cache;)V
        end local 11 // org.ehcache.core.events.CacheManagerListener listener
        37: .line 296
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 35
        38: .line 300
            goto 42
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration int org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class org.ehcache.core.EhcacheManager$CacheHolder org.ehcache.core.InternalCache int java.lang.RuntimeException
      StackMap stack: java.lang.Throwable
        39: astore 13
        40: .line 301
            aload 7 /* value */
            aload 8 /* cache */
            invokevirtual org.ehcache.core.EhcacheManager$CacheHolder.setCache:(Lorg/ehcache/core/InternalCache;)V
        41: .line 302
            aload 13
            athrow
        42: .line 301
      StackMap locals:
      StackMap stack:
            aload 7 /* value */
            aload 8 /* cache */
            invokevirtual org.ehcache.core.EhcacheManager$CacheHolder.setCache:(Lorg/ehcache/core/InternalCache;)V
        43: .line 303
            goto 47
        44: .line 304
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cache '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' creation in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.simpleName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        45: .line 305
            ldc " failed."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 10 /* failure */
        46: .line 304
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        47: .line 307
      StackMap locals:
      StackMap stack:
            getstatic org.ehcache.core.EhcacheManager.LOGGER:Lorg/slf4j/Logger;
            ldc "Cache '{}' created in {}."
            aload 1 /* alias */
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.simpleName:Ljava/lang/String;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        48: .line 308
            aload 8 /* cache */
            areturn
        end local 10 // java.lang.RuntimeException failure
        end local 9 // boolean success
        end local 8 // org.ehcache.core.InternalCache cache
        end local 7 // org.ehcache.core.EhcacheManager$CacheHolder value
        end local 6 // java.lang.Class valueType
        end local 5 // java.lang.Class keyType
        end local 4 // org.ehcache.config.CacheConfiguration config
        end local 3 // boolean addToConfig
        end local 2 // org.ehcache.config.CacheConfiguration originalConfig
        end local 1 // java.lang.String alias
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   49     0            this  Lorg/ehcache/core/EhcacheManager;
            0   49     1           alias  Ljava/lang/String;
            0   49     2  originalConfig  Lorg/ehcache/config/CacheConfiguration<TK;TV;>;
            0   49     3     addToConfig  Z
            3   49     4          config  Lorg/ehcache/config/CacheConfiguration<TK;TV;>;
            4   49     5         keyType  Ljava/lang/Class<TK;>;
            5   49     6       valueType  Ljava/lang/Class<TV;>;
            6   49     7           value  Lorg/ehcache/core/EhcacheManager$CacheHolder;
            9   49     8           cache  Lorg/ehcache/core/InternalCache<TK;TV;>;
           10   49     9         success  Z
           11   49    10         failure  Ljava/lang/RuntimeException;
           20   21    11               e  Ljava/lang/RuntimeException;
           36   37    11        listener  Lorg/ehcache/core/events/CacheManagerListener;
      Exception table:
        from    to  target  type
          11    18      19  Class java.lang.RuntimeException
          11    21      24  any
          33    39      39  any
    Exceptions:
      throws java.lang.IllegalArgumentException
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration<TK;TV;>;Z)Lorg/ehcache/Cache<TK;TV;>;
    MethodParameters:
                Name  Flags
      alias           
      originalConfig  
      addToConfig     

  <K, V> org.ehcache.core.InternalCache<K, V> createNewEhcache(java.lang.String, org.ehcache.config.CacheConfiguration<K, V>, java.lang.Class<K>, java.lang.Class<V>);
    descriptor: (Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration;Ljava/lang/Class;Ljava/lang/Class;)Lorg/ehcache/core/InternalCache;
    flags: (0x0000) 
    Code:
      stack=8, locals=21, args_size=5
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // java.lang.String alias
        start local 2 // org.ehcache.config.CacheConfiguration config
        start local 3 // java.lang.Class keyType
        start local 4 // java.lang.Class valueType
         0: .line 313
            new java.util.ArrayList
            dup
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getServiceConfigurations:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 5 /* adjustedServiceConfigs */
        start local 5 // java.util.Collection adjustedServiceConfigs
         1: .line 315
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* unknownServiceConfigs */
        start local 6 // java.util.List unknownServiceConfigs
         2: .line 316
            aload 5 /* adjustedServiceConfigs */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 6
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class java.util.Collection java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.spi.service.ServiceConfiguration
            astore 7 /* serviceConfig */
        start local 7 // org.ehcache.spi.service.ServiceConfiguration serviceConfig
         4: .line 317
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.serviceLocator:Lorg/ehcache/core/spi/ServiceLocator;
            aload 7 /* serviceConfig */
            invokevirtual org.ehcache.core.spi.ServiceLocator.knowsServiceFor:(Lorg/ehcache/spi/service/ServiceConfiguration;)Z
            ifne 6
         5: .line 318
            aload 6 /* unknownServiceConfigs */
            aload 7 /* serviceConfig */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.ehcache.spi.service.ServiceConfiguration serviceConfig
         6: .line 316
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 321
            aload 6 /* unknownServiceConfigs */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 9
         8: .line 322
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot find service(s) that can handle following configuration(s) : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* unknownServiceConfigs */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 325
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class java.util.Collection java.util.List
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* lifeCycledList */
        start local 7 // java.util.List lifeCycledList
        10: .line 327
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.serviceLocator:Lorg/ehcache/core/spi/ServiceLocator;
            ldc Lorg/ehcache/spi/loaderwriter/CacheLoaderWriterProvider;
            invokevirtual org.ehcache.core.spi.ServiceLocator.getService:(Ljava/lang/Class;)Lorg/ehcache/spi/service/Service;
            checkcast org.ehcache.spi.loaderwriter.CacheLoaderWriterProvider
            astore 8 /* cacheLoaderWriterProvider */
        start local 8 // org.ehcache.spi.loaderwriter.CacheLoaderWriterProvider cacheLoaderWriterProvider
        11: .line 329
            aload 8 /* cacheLoaderWriterProvider */
            ifnull 16
        12: .line 330
            aload 8 /* cacheLoaderWriterProvider */
            aload 1 /* alias */
            aload 2 /* config */
            invokeinterface org.ehcache.spi.loaderwriter.CacheLoaderWriterProvider.createCacheLoaderWriter:(Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration;)Lorg/ehcache/spi/loaderwriter/CacheLoaderWriter;
            astore 9 /* loaderWriter */
        start local 9 // org.ehcache.spi.loaderwriter.CacheLoaderWriter loaderWriter
        13: .line 332
            aload 9 /* loaderWriter */
            ifnull 17
        14: .line 333
            aload 7 /* lifeCycledList */
            new org.ehcache.core.EhcacheManager$1
            dup
            aload 0 /* this */
            aload 8 /* cacheLoaderWriterProvider */
            aload 1 /* alias */
            aload 9 /* loaderWriter */
            invokespecial org.ehcache.core.EhcacheManager$1.<init>:(Lorg/ehcache/core/EhcacheManager;Lorg/ehcache/spi/loaderwriter/CacheLoaderWriterProvider;Ljava/lang/String;Lorg/ehcache/spi/loaderwriter/CacheLoaderWriter;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        15: .line 340
            goto 17
        end local 9 // org.ehcache.spi.loaderwriter.CacheLoaderWriter loaderWriter
        16: .line 341
      StackMap locals: java.util.List org.ehcache.spi.loaderwriter.CacheLoaderWriterProvider
      StackMap stack:
            aconst_null
            astore 9 /* loaderWriter */
        start local 9 // org.ehcache.spi.loaderwriter.CacheLoaderWriter loaderWriter
        17: .line 344
      StackMap locals: org.ehcache.spi.loaderwriter.CacheLoaderWriter
      StackMap stack:
            aload 0 /* this */
            aload 1 /* alias */
            aload 2 /* config */
            aload 3 /* keyType */
            aload 4 /* valueType */
            aload 5 /* adjustedServiceConfigs */
            aload 7 /* lifeCycledList */
            aload 9 /* loaderWriter */
            invokevirtual org.ehcache.core.EhcacheManager.getStore:(Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration;Ljava/lang/Class;Ljava/lang/Class;Ljava/util/Collection;Ljava/util/List;Lorg/ehcache/spi/loaderwriter/CacheLoaderWriter;)Lorg/ehcache/core/spi/store/Store;
            astore 10 /* store */
        start local 10 // org.ehcache.core.spi.store.Store store
        18: .line 347
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.serviceLocator:Lorg/ehcache/core/spi/ServiceLocator;
            ldc Lorg/ehcache/core/events/CacheEventDispatcherFactory;
            invokevirtual org.ehcache.core.spi.ServiceLocator.getService:(Ljava/lang/Class;)Lorg/ehcache/spi/service/Service;
            checkcast org.ehcache.core.events.CacheEventDispatcherFactory
            astore 11 /* cenlProvider */
        start local 11 // org.ehcache.core.events.CacheEventDispatcherFactory cenlProvider
        19: .line 349
            aload 11 /* cenlProvider */
            aload 10 /* store */
            aload 5 /* adjustedServiceConfigs */
            aload 5 /* adjustedServiceConfigs */
            invokeinterface java.util.Collection.size:()I
            anewarray org.ehcache.spi.service.ServiceConfiguration
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.ehcache.spi.service.ServiceConfiguration[]
            invokeinterface org.ehcache.core.events.CacheEventDispatcherFactory.createCacheEventDispatcher:(Lorg/ehcache/core/spi/store/Store;[Lorg/ehcache/spi/service/ServiceConfiguration;)Lorg/ehcache/core/events/CacheEventDispatcher;
        20: .line 348
            astore 12 /* evtService */
        start local 12 // org.ehcache.core.events.CacheEventDispatcher evtService
        21: .line 350
            aload 7 /* lifeCycledList */
            new org.ehcache.core.EhcacheManager$2
            dup
            aload 0 /* this */
            aload 11 /* cenlProvider */
            aload 12 /* evtService */
            invokespecial org.ehcache.core.EhcacheManager$2.<init>:(Lorg/ehcache/core/EhcacheManager;Lorg/ehcache/core/events/CacheEventDispatcherFactory;Lorg/ehcache/core/events/CacheEventDispatcher;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        22: .line 356
            aload 12 /* evtService */
            aload 10 /* store */
            invokeinterface org.ehcache.core.spi.store.Store.getStoreEventSource:()Lorg/ehcache/core/spi/store/events/StoreEventSource;
            invokeinterface org.ehcache.core.events.CacheEventDispatcher.setStoreEventSource:(Lorg/ehcache/core/spi/store/events/StoreEventSource;)V
        23: .line 358
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.serviceLocator:Lorg/ehcache/core/spi/ServiceLocator;
            ldc Lorg/ehcache/spi/resilience/ResilienceStrategyProvider;
            invokevirtual org.ehcache.core.spi.ServiceLocator.getService:(Ljava/lang/Class;)Lorg/ehcache/spi/service/Service;
            checkcast org.ehcache.spi.resilience.ResilienceStrategyProvider
            astore 13 /* resilienceProvider */
        start local 13 // org.ehcache.spi.resilience.ResilienceStrategyProvider resilienceProvider
        24: .line 360
            aload 9 /* loaderWriter */
            ifnonnull 27
        25: .line 361
            aload 13 /* resilienceProvider */
            aload 1 /* alias */
            aload 2 /* config */
            new org.ehcache.core.resilience.DefaultRecoveryStore
            dup
            aload 10 /* store */
            invokespecial org.ehcache.core.resilience.DefaultRecoveryStore.<init>:(Lorg/ehcache/core/spi/store/Store;)V
            invokeinterface org.ehcache.spi.resilience.ResilienceStrategyProvider.createResilienceStrategy:(Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration;Lorg/ehcache/spi/resilience/RecoveryStore;)Lorg/ehcache/spi/resilience/ResilienceStrategy;
            astore 14 /* resilienceStrategy */
        start local 14 // org.ehcache.spi.resilience.ResilienceStrategy resilienceStrategy
        26: .line 362
            goto 28
        end local 14 // org.ehcache.spi.resilience.ResilienceStrategy resilienceStrategy
        27: .line 363
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class java.util.Collection java.util.List java.util.List org.ehcache.spi.loaderwriter.CacheLoaderWriterProvider org.ehcache.spi.loaderwriter.CacheLoaderWriter org.ehcache.core.spi.store.Store org.ehcache.core.events.CacheEventDispatcherFactory org.ehcache.core.events.CacheEventDispatcher org.ehcache.spi.resilience.ResilienceStrategyProvider
      StackMap stack:
            aload 13 /* resilienceProvider */
            aload 1 /* alias */
            aload 2 /* config */
            new org.ehcache.core.resilience.DefaultRecoveryStore
            dup
            aload 10 /* store */
            invokespecial org.ehcache.core.resilience.DefaultRecoveryStore.<init>:(Lorg/ehcache/core/spi/store/Store;)V
            aload 9 /* loaderWriter */
            invokeinterface org.ehcache.spi.resilience.ResilienceStrategyProvider.createResilienceStrategy:(Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration;Lorg/ehcache/spi/resilience/RecoveryStore;Lorg/ehcache/spi/loaderwriter/CacheLoaderWriter;)Lorg/ehcache/spi/resilience/ResilienceStrategy;
            astore 14 /* resilienceStrategy */
        start local 14 // org.ehcache.spi.resilience.ResilienceStrategy resilienceStrategy
        28: .line 365
      StackMap locals: org.ehcache.spi.resilience.ResilienceStrategy
      StackMap stack:
            new org.ehcache.core.Ehcache
            dup
            aload 2 /* config */
            aload 10 /* store */
            aload 14 /* resilienceStrategy */
            aload 12 /* evtService */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            ldc Lorg/ehcache/core/Ehcache;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/String;)Lorg/slf4j/Logger;
            aload 9 /* loaderWriter */
            invokespecial org.ehcache.core.Ehcache.<init>:(Lorg/ehcache/config/CacheConfiguration;Lorg/ehcache/core/spi/store/Store;Lorg/ehcache/spi/resilience/ResilienceStrategy;Lorg/ehcache/core/events/CacheEventDispatcher;Lorg/slf4j/Logger;Lorg/ehcache/spi/loaderwriter/CacheLoaderWriter;)V
            astore 15 /* cache */
        start local 15 // org.ehcache.core.InternalCache cache
        29: .line 367
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.serviceLocator:Lorg/ehcache/core/spi/ServiceLocator;
            ldc Lorg/ehcache/core/events/CacheEventListenerProvider;
            invokevirtual org.ehcache.core.spi.ServiceLocator.getService:(Ljava/lang/Class;)Lorg/ehcache/spi/service/Service;
            checkcast org.ehcache.core.events.CacheEventListenerProvider
            astore 16 /* evntLsnrFactory */
        start local 16 // org.ehcache.core.events.CacheEventListenerProvider evntLsnrFactory
        30: .line 368
            aload 16 /* evntLsnrFactory */
            ifnull 43
        31: .line 370
            ldc Lorg/ehcache/core/events/CacheEventListenerConfiguration;
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getServiceConfigurations:()Ljava/util/Collection;
            invokestatic org.ehcache.core.spi.service.ServiceUtils.findAmongst:(Ljava/lang/Class;Ljava/util/Collection;)Ljava/util/Collection;
        32: .line 369
            astore 17 /* evtLsnrConfigs */
        start local 17 // java.util.Collection evtLsnrConfigs
        33: .line 371
            aload 17 /* evtLsnrConfigs */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 19
            goto 41
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class java.util.Collection java.util.List java.util.List org.ehcache.spi.loaderwriter.CacheLoaderWriterProvider org.ehcache.spi.loaderwriter.CacheLoaderWriter org.ehcache.core.spi.store.Store org.ehcache.core.events.CacheEventDispatcherFactory org.ehcache.core.events.CacheEventDispatcher org.ehcache.spi.resilience.ResilienceStrategyProvider org.ehcache.spi.resilience.ResilienceStrategy org.ehcache.core.InternalCache org.ehcache.core.events.CacheEventListenerProvider java.util.Collection top java.util.Iterator
      StackMap stack:
        34: aload 19
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.core.events.CacheEventListenerConfiguration
            astore 18 /* lsnrConfig */
        start local 18 // org.ehcache.core.events.CacheEventListenerConfiguration lsnrConfig
        35: .line 372
            aload 16 /* evntLsnrFactory */
            aload 1 /* alias */
            aload 18 /* lsnrConfig */
            invokeinterface org.ehcache.core.events.CacheEventListenerProvider.createEventListener:(Ljava/lang/String;Lorg/ehcache/spi/service/ServiceConfiguration;)Lorg/ehcache/event/CacheEventListener;
            astore 20 /* lsnr */
        start local 20 // org.ehcache.event.CacheEventListener lsnr
        36: .line 373
            aload 20 /* lsnr */
            ifnull 41
        37: .line 374
            aload 15 /* cache */
            invokeinterface org.ehcache.core.InternalCache.getRuntimeConfiguration:()Lorg/ehcache/config/CacheRuntimeConfiguration;
            aload 20 /* lsnr */
            aload 18 /* lsnrConfig */
            invokeinterface org.ehcache.core.events.CacheEventListenerConfiguration.orderingMode:()Lorg/ehcache/event/EventOrdering;
            aload 18 /* lsnrConfig */
            invokeinterface org.ehcache.core.events.CacheEventListenerConfiguration.firingMode:()Lorg/ehcache/event/EventFiring;
        38: .line 375
            aload 18 /* lsnrConfig */
            invokeinterface org.ehcache.core.events.CacheEventListenerConfiguration.fireOn:()Ljava/util/EnumSet;
        39: .line 374
            invokeinterface org.ehcache.config.CacheRuntimeConfiguration.registerCacheEventListener:(Lorg/ehcache/event/CacheEventListener;Lorg/ehcache/event/EventOrdering;Lorg/ehcache/event/EventFiring;Ljava/util/Set;)V
        40: .line 376
            aload 7 /* lifeCycledList */
            new org.ehcache.core.EhcacheManager$3
            dup
            aload 0 /* this */
            aload 16 /* evntLsnrFactory */
            aload 20 /* lsnr */
            invokespecial org.ehcache.core.EhcacheManager$3.<init>:(Lorg/ehcache/core/EhcacheManager;Lorg/ehcache/core/events/CacheEventListenerProvider;Lorg/ehcache/event/CacheEventListener;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 20 // org.ehcache.event.CacheEventListener lsnr
        end local 18 // org.ehcache.core.events.CacheEventListenerConfiguration lsnrConfig
        41: .line 371
      StackMap locals:
      StackMap stack:
            aload 19
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 34
        42: .line 389
            aload 12 /* evtService */
            aload 15 /* cache */
            invokeinterface org.ehcache.core.events.CacheEventDispatcher.setListenerSource:(Lorg/ehcache/Cache;)V
        end local 17 // java.util.Collection evtLsnrConfigs
        43: .line 392
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class java.util.Collection java.util.List java.util.List org.ehcache.spi.loaderwriter.CacheLoaderWriterProvider org.ehcache.spi.loaderwriter.CacheLoaderWriter org.ehcache.core.spi.store.Store org.ehcache.core.events.CacheEventDispatcherFactory org.ehcache.core.events.CacheEventDispatcher org.ehcache.spi.resilience.ResilienceStrategyProvider org.ehcache.spi.resilience.ResilienceStrategy org.ehcache.core.InternalCache org.ehcache.core.events.CacheEventListenerProvider
      StackMap stack:
            aload 7 /* lifeCycledList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 18
            goto 46
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class java.util.Collection java.util.List java.util.List org.ehcache.spi.loaderwriter.CacheLoaderWriterProvider org.ehcache.spi.loaderwriter.CacheLoaderWriter org.ehcache.core.spi.store.Store org.ehcache.core.events.CacheEventDispatcherFactory org.ehcache.core.events.CacheEventDispatcher org.ehcache.spi.resilience.ResilienceStrategyProvider org.ehcache.spi.resilience.ResilienceStrategy org.ehcache.core.InternalCache org.ehcache.core.events.CacheEventListenerProvider top java.util.Iterator
      StackMap stack:
        44: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.core.spi.LifeCycled
            astore 17 /* lifeCycled */
        start local 17 // org.ehcache.core.spi.LifeCycled lifeCycled
        45: .line 393
            aload 15 /* cache */
            aload 17 /* lifeCycled */
            invokeinterface org.ehcache.core.InternalCache.addHook:(Lorg/ehcache/core/spi/LifeCycled;)V
        end local 17 // org.ehcache.core.spi.LifeCycled lifeCycled
        46: .line 392
      StackMap locals:
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 44
        47: .line 396
            aload 15 /* cache */
            areturn
        end local 16 // org.ehcache.core.events.CacheEventListenerProvider evntLsnrFactory
        end local 15 // org.ehcache.core.InternalCache cache
        end local 14 // org.ehcache.spi.resilience.ResilienceStrategy resilienceStrategy
        end local 13 // org.ehcache.spi.resilience.ResilienceStrategyProvider resilienceProvider
        end local 12 // org.ehcache.core.events.CacheEventDispatcher evtService
        end local 11 // org.ehcache.core.events.CacheEventDispatcherFactory cenlProvider
        end local 10 // org.ehcache.core.spi.store.Store store
        end local 9 // org.ehcache.spi.loaderwriter.CacheLoaderWriter loaderWriter
        end local 8 // org.ehcache.spi.loaderwriter.CacheLoaderWriterProvider cacheLoaderWriterProvider
        end local 7 // java.util.List lifeCycledList
        end local 6 // java.util.List unknownServiceConfigs
        end local 5 // java.util.Collection adjustedServiceConfigs
        end local 4 // java.lang.Class valueType
        end local 3 // java.lang.Class keyType
        end local 2 // org.ehcache.config.CacheConfiguration config
        end local 1 // java.lang.String alias
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   48     0                       this  Lorg/ehcache/core/EhcacheManager;
            0   48     1                      alias  Ljava/lang/String;
            0   48     2                     config  Lorg/ehcache/config/CacheConfiguration<TK;TV;>;
            0   48     3                    keyType  Ljava/lang/Class<TK;>;
            0   48     4                  valueType  Ljava/lang/Class<TV;>;
            1   48     5     adjustedServiceConfigs  Ljava/util/Collection<Lorg/ehcache/spi/service/ServiceConfiguration<*>;>;
            2   48     6      unknownServiceConfigs  Ljava/util/List<Lorg/ehcache/spi/service/ServiceConfiguration<*>;>;
            4    6     7              serviceConfig  Lorg/ehcache/spi/service/ServiceConfiguration<*>;
           10   48     7             lifeCycledList  Ljava/util/List<Lorg/ehcache/core/spi/LifeCycled;>;
           11   48     8  cacheLoaderWriterProvider  Lorg/ehcache/spi/loaderwriter/CacheLoaderWriterProvider;
           13   16     9               loaderWriter  Lorg/ehcache/spi/loaderwriter/CacheLoaderWriter<-TK;TV;>;
           17   48     9               loaderWriter  Lorg/ehcache/spi/loaderwriter/CacheLoaderWriter<-TK;TV;>;
           18   48    10                      store  Lorg/ehcache/core/spi/store/Store<TK;TV;>;
           19   48    11               cenlProvider  Lorg/ehcache/core/events/CacheEventDispatcherFactory;
           21   48    12                 evtService  Lorg/ehcache/core/events/CacheEventDispatcher<TK;TV;>;
           24   48    13         resilienceProvider  Lorg/ehcache/spi/resilience/ResilienceStrategyProvider;
           26   27    14         resilienceStrategy  Lorg/ehcache/spi/resilience/ResilienceStrategy<TK;TV;>;
           28   48    14         resilienceStrategy  Lorg/ehcache/spi/resilience/ResilienceStrategy<TK;TV;>;
           29   48    15                      cache  Lorg/ehcache/core/InternalCache<TK;TV;>;
           30   48    16            evntLsnrFactory  Lorg/ehcache/core/events/CacheEventListenerProvider;
           33   43    17             evtLsnrConfigs  Ljava/util/Collection<Lorg/ehcache/core/events/CacheEventListenerConfiguration;>;
           35   41    18                 lsnrConfig  Lorg/ehcache/core/events/CacheEventListenerConfiguration;
           36   41    20                       lsnr  Lorg/ehcache/event/CacheEventListener<TK;TV;>;
           45   46    17                 lifeCycled  Lorg/ehcache/core/spi/LifeCycled;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration<TK;TV;>;Ljava/lang/Class<TK;>;Ljava/lang/Class<TV;>;)Lorg/ehcache/core/InternalCache<TK;TV;>;
    MethodParameters:
           Name  Flags
      alias      
      config     
      keyType    
      valueType  

  protected <K, V> org.ehcache.core.spi.store.Store<K, V> getStore(java.lang.String, org.ehcache.config.CacheConfiguration<K, V>, java.lang.Class<K>, java.lang.Class<V>, java.util.Collection<org.ehcache.spi.service.ServiceConfiguration<?>>, java.util.List<org.ehcache.core.spi.LifeCycled>, org.ehcache.spi.loaderwriter.CacheLoaderWriter<? super K, V>);
    descriptor: (Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration;Ljava/lang/Class;Ljava/lang/Class;Ljava/util/Collection;Ljava/util/List;Lorg/ehcache/spi/loaderwriter/CacheLoaderWriter;)Lorg/ehcache/core/spi/store/Store;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=20, args_size=8
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // java.lang.String alias
        start local 2 // org.ehcache.config.CacheConfiguration config
        start local 3 // java.lang.Class keyType
        start local 4 // java.lang.Class valueType
        start local 5 // java.util.Collection serviceConfigs
        start local 6 // java.util.List lifeCycledList
        start local 7 // org.ehcache.spi.loaderwriter.CacheLoaderWriter loaderWriter
         0: .line 421
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getResourcePools:()Lorg/ehcache/config/ResourcePools;
            invokeinterface org.ehcache.config.ResourcePools.getResourceTypeSet:()Ljava/util/Set;
            astore 8 /* resourceTypes */
        start local 8 // java.util.Set resourceTypes
         1: .line 422
            aload 8 /* resourceTypes */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 13
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class java.util.Collection java.util.List org.ehcache.spi.loaderwriter.CacheLoaderWriter java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.config.ResourceType
            astore 9 /* resourceType */
        start local 9 // org.ehcache.config.ResourceType resourceType
         3: .line 423
            aload 9 /* resourceType */
            invokeinterface org.ehcache.config.ResourceType.isPersistable:()Z
            ifeq 13
         4: .line 424
            aload 0 /* this */
            aload 9 /* resourceType */
            invokevirtual org.ehcache.core.EhcacheManager.getPersistableResourceService:(Lorg/ehcache/config/ResourceType;)Lorg/ehcache/spi/persistence/PersistableResourceService;
            astore 11 /* persistableResourceService */
        start local 11 // org.ehcache.spi.persistence.PersistableResourceService persistableResourceService
         5: .line 427
            aload 11 /* persistableResourceService */
         6: .line 428
            aload 1 /* alias */
            aload 2 /* config */
            invokeinterface org.ehcache.spi.persistence.PersistableResourceService.getPersistenceSpaceIdentifier:(Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration;)Lorg/ehcache/spi/persistence/PersistableResourceService$PersistenceSpaceIdentifier;
         7: .line 427
            astore 12 /* spaceIdentifier */
        start local 12 // org.ehcache.spi.persistence.PersistableResourceService$PersistenceSpaceIdentifier spaceIdentifier
         8: .line 429
            aload 5 /* serviceConfigs */
            aload 12 /* spaceIdentifier */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         9: .line 430
            aload 6 /* lifeCycledList */
            new org.ehcache.core.EhcacheManager$4
            dup
            aload 0 /* this */
            aload 11 /* persistableResourceService */
            aload 12 /* spaceIdentifier */
            invokespecial org.ehcache.core.EhcacheManager$4.<init>:(Lorg/ehcache/core/EhcacheManager;Lorg/ehcache/spi/persistence/PersistableResourceService;Lorg/ehcache/spi/persistence/PersistableResourceService$PersistenceSpaceIdentifier;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // org.ehcache.spi.persistence.PersistableResourceService$PersistenceSpaceIdentifier spaceIdentifier
        10: .line 436
            goto 13
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class java.util.Collection java.util.List org.ehcache.spi.loaderwriter.CacheLoaderWriter java.util.Set org.ehcache.config.ResourceType java.util.Iterator org.ehcache.spi.persistence.PersistableResourceService
      StackMap stack: org.ehcache.CachePersistenceException
        11: astore 12 /* e */
        start local 12 // org.ehcache.CachePersistenceException e
        12: .line 437
            new java.lang.RuntimeException
            dup
            ldc "Unable to handle persistence"
            aload 12 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 12 // org.ehcache.CachePersistenceException e
        end local 11 // org.ehcache.spi.persistence.PersistableResourceService persistableResourceService
        end local 9 // org.ehcache.config.ResourceType resourceType
        13: .line 422
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class java.util.Collection java.util.List org.ehcache.spi.loaderwriter.CacheLoaderWriter java.util.Set top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        14: .line 442
            aconst_null
            astore 9 /* keySerializer */
        start local 9 // org.ehcache.spi.serialization.Serializer keySerializer
        15: .line 443
            aconst_null
            astore 10 /* valueSerializer */
        start local 10 // org.ehcache.spi.serialization.Serializer valueSerializer
        16: .line 444
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.serviceLocator:Lorg/ehcache/core/spi/ServiceLocator;
            ldc Lorg/ehcache/spi/serialization/SerializationProvider;
            invokevirtual org.ehcache.core.spi.ServiceLocator.getService:(Ljava/lang/Class;)Lorg/ehcache/spi/service/Service;
            checkcast org.ehcache.spi.serialization.SerializationProvider
            astore 11 /* serialization */
        start local 11 // org.ehcache.spi.serialization.SerializationProvider serialization
        17: .line 445
            aload 5 /* serviceConfigs */
            aload 5 /* serviceConfigs */
            invokeinterface java.util.Collection.size:()I
            anewarray org.ehcache.spi.service.ServiceConfiguration
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.ehcache.spi.service.ServiceConfiguration[]
            astore 12 /* serviceConfigArray */
        start local 12 // org.ehcache.spi.service.ServiceConfiguration[] serviceConfigArray
        18: .line 446
            aload 11 /* serialization */
            ifnull 41
        19: .line 448
            aload 11 /* serialization */
            aload 3 /* keyType */
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getClassLoader:()Ljava/lang/ClassLoader;
            aload 12 /* serviceConfigArray */
            invokeinterface org.ehcache.spi.serialization.SerializationProvider.createKeySerializer:(Ljava/lang/Class;Ljava/lang/ClassLoader;[Lorg/ehcache/spi/service/ServiceConfiguration;)Lorg/ehcache/spi/serialization/Serializer;
            astore 13 /* keySer */
        start local 13 // org.ehcache.spi.serialization.Serializer keySer
        20: .line 449
            aload 6 /* lifeCycledList */
            new org.ehcache.core.EhcacheManager$5
            dup
            aload 0 /* this */
            aload 11 /* serialization */
            aload 13 /* keySer */
            invokespecial org.ehcache.core.EhcacheManager$5.<init>:(Lorg/ehcache/core/EhcacheManager;Lorg/ehcache/spi/serialization/SerializationProvider;Lorg/ehcache/spi/serialization/Serializer;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        21: .line 455
            aload 13 /* keySer */
            astore 9 /* keySerializer */
        end local 13 // org.ehcache.spi.serialization.Serializer keySer
        22: .line 456
            goto 30
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class java.util.Collection java.util.List org.ehcache.spi.loaderwriter.CacheLoaderWriter java.util.Set org.ehcache.spi.serialization.Serializer org.ehcache.spi.serialization.Serializer org.ehcache.spi.serialization.SerializationProvider org.ehcache.spi.service.ServiceConfiguration[]
      StackMap stack: org.ehcache.spi.serialization.UnsupportedTypeException
        23: astore 13 /* e */
        start local 13 // org.ehcache.spi.serialization.UnsupportedTypeException e
        24: .line 457
            aload 8 /* resourceTypes */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 15
            goto 28
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class java.util.Collection java.util.List org.ehcache.spi.loaderwriter.CacheLoaderWriter java.util.Set org.ehcache.spi.serialization.Serializer org.ehcache.spi.serialization.Serializer org.ehcache.spi.serialization.SerializationProvider org.ehcache.spi.service.ServiceConfiguration[] org.ehcache.spi.serialization.UnsupportedTypeException top java.util.Iterator
      StackMap stack:
        25: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.config.ResourceType
            astore 14 /* resource */
        start local 14 // org.ehcache.config.ResourceType resource
        26: .line 458
            aload 14 /* resource */
            invokeinterface org.ehcache.config.ResourceType.requiresSerialization:()Z
            ifeq 28
        27: .line 459
            new java.lang.RuntimeException
            dup
            aload 13 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 14 // org.ehcache.config.ResourceType resource
        28: .line 457
      StackMap locals:
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        29: .line 462
            getstatic org.ehcache.core.EhcacheManager.LOGGER:Lorg/slf4j/Logger;
            ldc "Could not create serializers for {}"
            aload 1 /* alias */
            aload 13 /* e */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 13 // org.ehcache.spi.serialization.UnsupportedTypeException e
        30: .line 465
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class java.util.Collection java.util.List org.ehcache.spi.loaderwriter.CacheLoaderWriter java.util.Set org.ehcache.spi.serialization.Serializer org.ehcache.spi.serialization.Serializer org.ehcache.spi.serialization.SerializationProvider org.ehcache.spi.service.ServiceConfiguration[]
      StackMap stack:
            aload 11 /* serialization */
            aload 4 /* valueType */
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getClassLoader:()Ljava/lang/ClassLoader;
            aload 12 /* serviceConfigArray */
            invokeinterface org.ehcache.spi.serialization.SerializationProvider.createValueSerializer:(Ljava/lang/Class;Ljava/lang/ClassLoader;[Lorg/ehcache/spi/service/ServiceConfiguration;)Lorg/ehcache/spi/serialization/Serializer;
            astore 13 /* valueSer */
        start local 13 // org.ehcache.spi.serialization.Serializer valueSer
        31: .line 466
            aload 6 /* lifeCycledList */
            new org.ehcache.core.EhcacheManager$6
            dup
            aload 0 /* this */
            aload 11 /* serialization */
            aload 13 /* valueSer */
            invokespecial org.ehcache.core.EhcacheManager$6.<init>:(Lorg/ehcache/core/EhcacheManager;Lorg/ehcache/spi/serialization/SerializationProvider;Lorg/ehcache/spi/serialization/Serializer;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        32: .line 472
            aload 13 /* valueSer */
            astore 10 /* valueSerializer */
        end local 13 // org.ehcache.spi.serialization.Serializer valueSer
        33: .line 473
            goto 41
      StackMap locals:
      StackMap stack: org.ehcache.spi.serialization.UnsupportedTypeException
        34: astore 13 /* e */
        start local 13 // org.ehcache.spi.serialization.UnsupportedTypeException e
        35: .line 474
            aload 8 /* resourceTypes */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 15
            goto 39
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class java.util.Collection java.util.List org.ehcache.spi.loaderwriter.CacheLoaderWriter java.util.Set org.ehcache.spi.serialization.Serializer org.ehcache.spi.serialization.Serializer org.ehcache.spi.serialization.SerializationProvider org.ehcache.spi.service.ServiceConfiguration[] org.ehcache.spi.serialization.UnsupportedTypeException top java.util.Iterator
      StackMap stack:
        36: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.config.ResourceType
            astore 14 /* resource */
        start local 14 // org.ehcache.config.ResourceType resource
        37: .line 475
            aload 14 /* resource */
            invokeinterface org.ehcache.config.ResourceType.requiresSerialization:()Z
            ifeq 39
        38: .line 476
            new java.lang.RuntimeException
            dup
            aload 13 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 14 // org.ehcache.config.ResourceType resource
        39: .line 474
      StackMap locals:
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 36
        40: .line 479
            getstatic org.ehcache.core.EhcacheManager.LOGGER:Lorg/slf4j/Logger;
            ldc "Could not create serializers for {}"
            aload 1 /* alias */
            aload 13 /* e */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 13 // org.ehcache.spi.serialization.UnsupportedTypeException e
        41: .line 483
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class java.util.Collection java.util.List org.ehcache.spi.loaderwriter.CacheLoaderWriter java.util.Set org.ehcache.spi.serialization.Serializer org.ehcache.spi.serialization.Serializer org.ehcache.spi.serialization.SerializationProvider org.ehcache.spi.service.ServiceConfiguration[]
      StackMap stack:
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getServiceConfigurations:()Ljava/util/Collection;
            astore 13 /* serviceConfigurations */
        start local 13 // java.util.Collection serviceConfigurations
        42: .line 485
            ldc Lorg/ehcache/core/config/store/StoreEventSourceConfiguration;
            aload 13 /* serviceConfigurations */
            invokestatic org.ehcache.core.spi.service.ServiceUtils.findOptionalAmongst:(Ljava/lang/Class;Ljava/util/Collection;)Ljava/util/Optional;
        43: .line 486
            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;
                  org/ehcache/core/config/store/StoreEventSourceConfiguration.getDispatcherConcurrency()I (9 itf)
                  (Lorg/ehcache/core/config/store/StoreEventSourceConfiguration;)Ljava/lang/Integer;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
        44: .line 487
            iconst_1
            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
        45: .line 485
            istore 14 /* dispatcherConcurrency */
        start local 14 // int dispatcherConcurrency
        46: .line 489
            ldc Lorg/ehcache/core/config/store/StoreStatisticsConfiguration;
            aload 13 /* serviceConfigurations */
            invokestatic org.ehcache.core.spi.service.ServiceUtils.findOptionalAmongst:(Ljava/lang/Class;Ljava/util/Collection;)Ljava/util/Optional;
        47: .line 490
            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;
                  org/ehcache/core/config/store/StoreStatisticsConfiguration.isOperationStatisticsEnabled()Z (5)
                  (Lorg/ehcache/core/config/store/StoreStatisticsConfiguration;)Ljava/lang/Boolean;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
        48: .line 492
            aload 2 /* config */
            invokedynamic get(Lorg/ehcache/config/CacheConfiguration;)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/ehcache/core/EhcacheManager.lambda$3(Lorg/ehcache/config/CacheConfiguration;)Ljava/lang/Boolean; (6)
                  ()Ljava/lang/Boolean;
            invokevirtual java.util.Optional.orElseGet:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
        49: .line 489
            istore 15 /* operationStatisticsEnabled */
        start local 15 // boolean operationStatisticsEnabled
        50: .line 494
            new org.ehcache.core.store.StoreConfigurationImpl
            dup
            aload 2 /* config */
            iload 14 /* dispatcherConcurrency */
        51: .line 495
            iload 15 /* operationStatisticsEnabled */
            aload 9 /* keySerializer */
            aload 10 /* valueSerializer */
            aload 7 /* loaderWriter */
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.useLoaderInAtomics:Z
        52: .line 494
            invokespecial org.ehcache.core.store.StoreConfigurationImpl.<init>:(Lorg/ehcache/config/CacheConfiguration;IZLorg/ehcache/spi/serialization/Serializer;Lorg/ehcache/spi/serialization/Serializer;Lorg/ehcache/spi/loaderwriter/CacheLoaderWriter;Z)V
            astore 16 /* storeConfiguration */
        start local 16 // org.ehcache.core.spi.store.Store$Configuration storeConfiguration
        53: .line 497
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.serviceLocator:Lorg/ehcache/core/spi/ServiceLocator;
            aload 5 /* serviceConfigs */
            invokestatic org.ehcache.core.store.StoreSupport.selectWrapperStoreProvider:(Lorg/ehcache/spi/service/ServiceProvider;Ljava/util/Collection;)Lorg/ehcache/core/spi/store/Store$Provider;
            astore 17 /* storeProvider */
        start local 17 // org.ehcache.core.spi.store.Store$Provider storeProvider
        54: .line 498
            aload 17 /* storeProvider */
            ifnonnull 56
        55: .line 499
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.serviceLocator:Lorg/ehcache/core/spi/ServiceLocator;
            aload 8 /* resourceTypes */
            aload 5 /* serviceConfigs */
            invokestatic org.ehcache.core.store.StoreSupport.selectStoreProvider:(Lorg/ehcache/spi/service/ServiceProvider;Ljava/util/Set;Ljava/util/Collection;)Lorg/ehcache/core/spi/store/Store$Provider;
            astore 17 /* storeProvider */
        56: .line 502
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration java.lang.Class java.lang.Class java.util.Collection java.util.List org.ehcache.spi.loaderwriter.CacheLoaderWriter java.util.Set org.ehcache.spi.serialization.Serializer org.ehcache.spi.serialization.Serializer org.ehcache.spi.serialization.SerializationProvider org.ehcache.spi.service.ServiceConfiguration[] java.util.Collection int int org.ehcache.core.spi.store.Store$Configuration org.ehcache.core.spi.store.Store$Provider
      StackMap stack:
            aload 17 /* storeProvider */
            aload 16 /* storeConfiguration */
            aload 12 /* serviceConfigArray */
            invokeinterface org.ehcache.core.spi.store.Store$Provider.createStore:(Lorg/ehcache/core/spi/store/Store$Configuration;[Lorg/ehcache/spi/service/ServiceConfiguration;)Lorg/ehcache/core/spi/store/Store;
            astore 18 /* store */
        start local 18 // org.ehcache.core.spi.store.Store store
        57: .line 504
            new java.util.concurrent.atomic.AtomicReference
            dup
            aload 17 /* storeProvider */
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
            astore 19 /* storeProviderRef */
        start local 19 // java.util.concurrent.atomic.AtomicReference storeProviderRef
        58: .line 506
            aload 6 /* lifeCycledList */
            new org.ehcache.core.EhcacheManager$7
            dup
            aload 0 /* this */
            aload 19 /* storeProviderRef */
            aload 18 /* store */
            invokespecial org.ehcache.core.EhcacheManager$7.<init>:(Lorg/ehcache/core/EhcacheManager;Ljava/util/concurrent/atomic/AtomicReference;Lorg/ehcache/core/spi/store/Store;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        59: .line 518
            aload 18 /* store */
            areturn
        end local 19 // java.util.concurrent.atomic.AtomicReference storeProviderRef
        end local 18 // org.ehcache.core.spi.store.Store store
        end local 17 // org.ehcache.core.spi.store.Store$Provider storeProvider
        end local 16 // org.ehcache.core.spi.store.Store$Configuration storeConfiguration
        end local 15 // boolean operationStatisticsEnabled
        end local 14 // int dispatcherConcurrency
        end local 13 // java.util.Collection serviceConfigurations
        end local 12 // org.ehcache.spi.service.ServiceConfiguration[] serviceConfigArray
        end local 11 // org.ehcache.spi.serialization.SerializationProvider serialization
        end local 10 // org.ehcache.spi.serialization.Serializer valueSerializer
        end local 9 // org.ehcache.spi.serialization.Serializer keySerializer
        end local 8 // java.util.Set resourceTypes
        end local 7 // org.ehcache.spi.loaderwriter.CacheLoaderWriter loaderWriter
        end local 6 // java.util.List lifeCycledList
        end local 5 // java.util.Collection serviceConfigs
        end local 4 // java.lang.Class valueType
        end local 3 // java.lang.Class keyType
        end local 2 // org.ehcache.config.CacheConfiguration config
        end local 1 // java.lang.String alias
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   60     0                        this  Lorg/ehcache/core/EhcacheManager;
            0   60     1                       alias  Ljava/lang/String;
            0   60     2                      config  Lorg/ehcache/config/CacheConfiguration<TK;TV;>;
            0   60     3                     keyType  Ljava/lang/Class<TK;>;
            0   60     4                   valueType  Ljava/lang/Class<TV;>;
            0   60     5              serviceConfigs  Ljava/util/Collection<Lorg/ehcache/spi/service/ServiceConfiguration<*>;>;
            0   60     6              lifeCycledList  Ljava/util/List<Lorg/ehcache/core/spi/LifeCycled;>;
            0   60     7                loaderWriter  Lorg/ehcache/spi/loaderwriter/CacheLoaderWriter<-TK;TV;>;
            1   60     8               resourceTypes  Ljava/util/Set<Lorg/ehcache/config/ResourceType<*>;>;
            3   13     9                resourceType  Lorg/ehcache/config/ResourceType<*>;
            5   13    11  persistableResourceService  Lorg/ehcache/spi/persistence/PersistableResourceService;
            8   10    12             spaceIdentifier  Lorg/ehcache/spi/persistence/PersistableResourceService$PersistenceSpaceIdentifier<*>;
           12   13    12                           e  Lorg/ehcache/CachePersistenceException;
           15   60     9               keySerializer  Lorg/ehcache/spi/serialization/Serializer<TK;>;
           16   60    10             valueSerializer  Lorg/ehcache/spi/serialization/Serializer<TV;>;
           17   60    11               serialization  Lorg/ehcache/spi/serialization/SerializationProvider;
           18   60    12          serviceConfigArray  [Lorg/ehcache/spi/service/ServiceConfiguration;
           20   22    13                      keySer  Lorg/ehcache/spi/serialization/Serializer<TK;>;
           24   30    13                           e  Lorg/ehcache/spi/serialization/UnsupportedTypeException;
           26   28    14                    resource  Lorg/ehcache/config/ResourceType<*>;
           31   33    13                    valueSer  Lorg/ehcache/spi/serialization/Serializer<TV;>;
           35   41    13                           e  Lorg/ehcache/spi/serialization/UnsupportedTypeException;
           37   39    14                    resource  Lorg/ehcache/config/ResourceType<*>;
           42   60    13       serviceConfigurations  Ljava/util/Collection<Lorg/ehcache/spi/service/ServiceConfiguration<*>;>;
           46   60    14       dispatcherConcurrency  I
           50   60    15  operationStatisticsEnabled  Z
           53   60    16          storeConfiguration  Lorg/ehcache/core/spi/store/Store$Configuration<TK;TV;>;
           54   60    17               storeProvider  Lorg/ehcache/core/spi/store/Store$Provider;
           57   60    18                       store  Lorg/ehcache/core/spi/store/Store<TK;TV;>;
           58   60    19            storeProviderRef  Ljava/util/concurrent/atomic/AtomicReference<Lorg/ehcache/core/spi/store/Store$Provider;>;
      Exception table:
        from    to  target  type
           5    10      11  Class org.ehcache.CachePersistenceException
          19    22      23  Class org.ehcache.spi.serialization.UnsupportedTypeException
          30    33      34  Class org.ehcache.spi.serialization.UnsupportedTypeException
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration<TK;TV;>;Ljava/lang/Class<TK;>;Ljava/lang/Class<TV;>;Ljava/util/Collection<Lorg/ehcache/spi/service/ServiceConfiguration<*>;>;Ljava/util/List<Lorg/ehcache/core/spi/LifeCycled;>;Lorg/ehcache/spi/loaderwriter/CacheLoaderWriter<-TK;TV;>;)Lorg/ehcache/core/spi/store/Store<TK;TV;>;
    MethodParameters:
                Name  Flags
      alias           
      config          
      keyType         
      valueType       
      serviceConfigs  
      lifeCycledList  
      loaderWriter    

  private org.ehcache.spi.persistence.PersistableResourceService getPersistableResourceService(org.ehcache.config.ResourceType<?>);
    descriptor: (Lorg/ehcache/config/ResourceType;)Lorg/ehcache/spi/persistence/PersistableResourceService;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // org.ehcache.config.ResourceType resourceType
         0: .line 522
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.serviceLocator:Lorg/ehcache/core/spi/ServiceLocator;
            ldc Lorg/ehcache/spi/persistence/PersistableResourceService;
            invokevirtual org.ehcache.core.spi.ServiceLocator.getServicesOfType:(Ljava/lang/Class;)Ljava/util/Collection;
            astore 2 /* services */
        start local 2 // java.util.Collection services
         1: .line 523
            aload 2 /* services */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.ehcache.core.EhcacheManager org.ehcache.config.ResourceType java.util.Collection top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.spi.persistence.PersistableResourceService
            astore 3 /* service */
        start local 3 // org.ehcache.spi.persistence.PersistableResourceService service
         3: .line 524
            aload 3 /* service */
            aload 1 /* resourceType */
            invokeinterface org.ehcache.spi.persistence.PersistableResourceService.handlesResourceType:(Lorg/ehcache/config/ResourceType;)Z
            ifeq 5
         4: .line 525
            aload 3 /* service */
            areturn
        end local 3 // org.ehcache.spi.persistence.PersistableResourceService service
         5: .line 523
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 528
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No service found for persistable resource: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* resourceType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.util.Collection services
        end local 1 // org.ehcache.config.ResourceType resourceType
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/ehcache/core/EhcacheManager;
            0    7     1  resourceType  Lorg/ehcache/config/ResourceType<*>;
            1    7     2      services  Ljava/util/Collection<Lorg/ehcache/spi/persistence/PersistableResourceService;>;
            3    5     3       service  Lorg/ehcache/spi/persistence/PersistableResourceService;
    Signature: (Lorg/ehcache/config/ResourceType<*>;)Lorg/ehcache/spi/persistence/PersistableResourceService;
    MethodParameters:
              Name  Flags
      resourceType  

  private <K, V> org.ehcache.config.CacheConfiguration<K, V> adjustConfigurationWithCacheManagerDefaults(java.lang.String, org.ehcache.config.CacheConfiguration<K, V>);
    descriptor: (Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration;)Lorg/ehcache/config/CacheConfiguration;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=8, args_size=3
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // java.lang.String alias
        start local 2 // org.ehcache.config.CacheConfiguration config
         0: .line 535
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* cacheClassLoader */
        start local 3 // java.lang.ClassLoader cacheClassLoader
         1: .line 537
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* configurationList */
        start local 4 // java.util.List configurationList
         2: .line 538
            aload 4 /* configurationList */
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getServiceConfigurations:()Ljava/util/Collection;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         3: .line 540
            ldc Lorg/ehcache/spi/loaderwriter/CacheLoaderWriterConfiguration;
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getServiceConfigurations:()Ljava/util/Collection;
            invokestatic org.ehcache.core.spi.service.ServiceUtils.findSingletonAmongst:(Ljava/lang/Class;Ljava/util/Collection;)Ljava/lang/Object;
            checkcast org.ehcache.spi.loaderwriter.CacheLoaderWriterConfiguration
            astore 5 /* loaderWriterConfiguration */
        start local 5 // org.ehcache.spi.loaderwriter.CacheLoaderWriterConfiguration loaderWriterConfiguration
         4: .line 541
            aload 5 /* loaderWriterConfiguration */
            ifnonnull 11
         5: .line 542
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.serviceLocator:Lorg/ehcache/core/spi/ServiceLocator;
            ldc Lorg/ehcache/spi/loaderwriter/CacheLoaderWriterProvider;
            invokevirtual org.ehcache.core.spi.ServiceLocator.getService:(Ljava/lang/Class;)Lorg/ehcache/spi/service/Service;
            checkcast org.ehcache.spi.loaderwriter.CacheLoaderWriterProvider
            astore 6 /* loaderWriterProvider */
        start local 6 // org.ehcache.spi.loaderwriter.CacheLoaderWriterProvider loaderWriterProvider
         6: .line 543
            aload 6 /* loaderWriterProvider */
            aload 1 /* alias */
            invokeinterface org.ehcache.spi.loaderwriter.CacheLoaderWriterProvider.getPreConfiguredCacheLoaderWriterConfig:(Ljava/lang/String;)Lorg/ehcache/spi/loaderwriter/CacheLoaderWriterConfiguration;
            astore 7 /* preConfiguredCacheLoaderWriterConfig */
        start local 7 // org.ehcache.spi.service.ServiceConfiguration preConfiguredCacheLoaderWriterConfig
         7: .line 544
            aload 7 /* preConfiguredCacheLoaderWriterConfig */
            ifnull 9
         8: .line 545
            aload 4 /* configurationList */
            aload 7 /* preConfiguredCacheLoaderWriterConfig */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 547
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.config.CacheConfiguration java.lang.ClassLoader java.util.List org.ehcache.spi.loaderwriter.CacheLoaderWriterConfiguration org.ehcache.spi.loaderwriter.CacheLoaderWriterProvider org.ehcache.spi.service.ServiceConfiguration
      StackMap stack:
            aload 6 /* loaderWriterProvider */
            aload 1 /* alias */
            invokeinterface org.ehcache.spi.loaderwriter.CacheLoaderWriterProvider.isLoaderJsrProvided:(Ljava/lang/String;)Z
            ifeq 11
        10: .line 548
            aload 4 /* configurationList */
            new org.ehcache.core.EhcacheManager$8
            dup
            aload 0 /* this */
            invokespecial org.ehcache.core.EhcacheManager$8.<init>:(Lorg/ehcache/core/EhcacheManager;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.ehcache.spi.service.ServiceConfiguration preConfiguredCacheLoaderWriterConfig
        end local 6 // org.ehcache.spi.loaderwriter.CacheLoaderWriterProvider loaderWriterProvider
        11: .line 553
      StackMap locals:
      StackMap stack:
            aload 4 /* configurationList */
            invokeinterface java.util.List.size:()I
            anewarray org.ehcache.spi.service.ServiceConfiguration
            astore 6 /* serviceConfigurations */
        start local 6 // org.ehcache.spi.service.ServiceConfiguration[] serviceConfigurations
        12: .line 554
            aload 4 /* configurationList */
            aload 6 /* serviceConfigurations */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        13: .line 556
            aload 3 /* cacheClassLoader */
            ifnonnull 15
        14: .line 557
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.cacheManagerClassLoader:Ljava/lang/ClassLoader;
            astore 3 /* cacheClassLoader */
        15: .line 559
      StackMap locals: org.ehcache.spi.service.ServiceConfiguration[]
      StackMap stack:
            aload 3 /* cacheClassLoader */
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getClassLoader:()Ljava/lang/ClassLoader;
            if_acmpeq 21
        16: .line 560
            new org.ehcache.core.config.BaseCacheConfiguration
            dup
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getKeyType:()Ljava/lang/Class;
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getValueType:()Ljava/lang/Class;
        17: .line 561
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getEvictionAdvisor:()Lorg/ehcache/config/EvictionAdvisor;
            aload 3 /* cacheClassLoader */
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getExpiryPolicy:()Lorg/ehcache/expiry/ExpiryPolicy;
        18: .line 562
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getResourcePools:()Lorg/ehcache/config/ResourcePools;
            aload 6 /* serviceConfigurations */
        19: .line 560
            invokespecial org.ehcache.core.config.BaseCacheConfiguration.<init>:(Ljava/lang/Class;Ljava/lang/Class;Lorg/ehcache/config/EvictionAdvisor;Ljava/lang/ClassLoader;Lorg/ehcache/expiry/ExpiryPolicy;Lorg/ehcache/config/ResourcePools;[Lorg/ehcache/spi/service/ServiceConfiguration;)V
            astore 2 /* config */
        20: .line 563
            goto 25
        21: .line 564
      StackMap locals:
      StackMap stack:
            new org.ehcache.core.config.BaseCacheConfiguration
            dup
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getKeyType:()Ljava/lang/Class;
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getValueType:()Ljava/lang/Class;
        22: .line 565
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getEvictionAdvisor:()Lorg/ehcache/config/EvictionAdvisor;
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getClassLoader:()Ljava/lang/ClassLoader;
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getExpiryPolicy:()Lorg/ehcache/expiry/ExpiryPolicy;
        23: .line 566
            aload 2 /* config */
            invokeinterface org.ehcache.config.CacheConfiguration.getResourcePools:()Lorg/ehcache/config/ResourcePools;
            aload 6 /* serviceConfigurations */
        24: .line 564
            invokespecial org.ehcache.core.config.BaseCacheConfiguration.<init>:(Ljava/lang/Class;Ljava/lang/Class;Lorg/ehcache/config/EvictionAdvisor;Ljava/lang/ClassLoader;Lorg/ehcache/expiry/ExpiryPolicy;Lorg/ehcache/config/ResourcePools;[Lorg/ehcache/spi/service/ServiceConfiguration;)V
            astore 2 /* config */
        25: .line 568
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            areturn
        end local 6 // org.ehcache.spi.service.ServiceConfiguration[] serviceConfigurations
        end local 5 // org.ehcache.spi.loaderwriter.CacheLoaderWriterConfiguration loaderWriterConfiguration
        end local 4 // java.util.List configurationList
        end local 3 // java.lang.ClassLoader cacheClassLoader
        end local 2 // org.ehcache.config.CacheConfiguration config
        end local 1 // java.lang.String alias
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot                                  Name  Signature
            0   26     0                                  this  Lorg/ehcache/core/EhcacheManager;
            0   26     1                                 alias  Ljava/lang/String;
            0   26     2                                config  Lorg/ehcache/config/CacheConfiguration<TK;TV;>;
            1   26     3                      cacheClassLoader  Ljava/lang/ClassLoader;
            2   26     4                     configurationList  Ljava/util/List<Lorg/ehcache/spi/service/ServiceConfiguration<*>;>;
            4   26     5             loaderWriterConfiguration  Lorg/ehcache/spi/loaderwriter/CacheLoaderWriterConfiguration;
            6   11     6                  loaderWriterProvider  Lorg/ehcache/spi/loaderwriter/CacheLoaderWriterProvider;
            7   11     7  preConfiguredCacheLoaderWriterConfig  Lorg/ehcache/spi/service/ServiceConfiguration<Lorg/ehcache/spi/loaderwriter/CacheLoaderWriterProvider;>;
           12   26     6                 serviceConfigurations  [Lorg/ehcache/spi/service/ServiceConfiguration;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration<TK;TV;>;)Lorg/ehcache/config/CacheConfiguration<TK;TV;>;
    MethodParameters:
        Name  Flags
      alias   
      config  

  public void registerListener(org.ehcache.core.events.CacheManagerListener);
    descriptor: (Lorg/ehcache/core/events/CacheManagerListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // org.ehcache.core.events.CacheManagerListener listener
         0: .line 573
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.listeners:Ljava/util/concurrent/CopyOnWriteArrayList;
            aload 1 /* listener */
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.contains:(Ljava/lang/Object;)Z
            ifne 3
         1: .line 574
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.listeners:Ljava/util/concurrent/CopyOnWriteArrayList;
            aload 1 /* listener */
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 575
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            aload 1 /* listener */
            invokevirtual org.ehcache.core.StatusTransitioner.registerListener:(Lorg/ehcache/core/events/StateChangeListener;)V
         3: .line 577
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.ehcache.core.events.CacheManagerListener listener
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/ehcache/core/EhcacheManager;
            0    4     1  listener  Lorg/ehcache/core/events/CacheManagerListener;
    MethodParameters:
          Name  Flags
      listener  

  public void deregisterListener(org.ehcache.core.events.CacheManagerListener);
    descriptor: (Lorg/ehcache/core/events/CacheManagerListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // org.ehcache.core.events.CacheManagerListener listener
         0: .line 581
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.listeners:Ljava/util/concurrent/CopyOnWriteArrayList;
            aload 1 /* listener */
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.remove:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 582
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            aload 1 /* listener */
            invokevirtual org.ehcache.core.StatusTransitioner.deregisterListener:(Lorg/ehcache/core/events/StateChangeListener;)V
         2: .line 584
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.ehcache.core.events.CacheManagerListener listener
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/ehcache/core/EhcacheManager;
            0    3     1  listener  Lorg/ehcache/core/events/CacheManagerListener;
    MethodParameters:
          Name  Flags
      listener  

  public void init();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.ehcache.core.EhcacheManager this
         0: .line 591
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            invokevirtual org.ehcache.core.StatusTransitioner.init:()Lorg/ehcache/core/StatusTransitioner$Transition;
            astore 1 /* st */
        start local 1 // org.ehcache.core.StatusTransitioner$Transition st
         1: .line 593
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.serviceLocator:Lorg/ehcache/core/spi/ServiceLocator;
            invokevirtual org.ehcache.core.spi.ServiceLocator.startAllServices:()V
         2: .line 595
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            astore 2 /* initiatedCaches */
        start local 2 // java.util.Deque initiatedCaches
         3: .line 597
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.configuration:Lorg/ehcache/core/config/DefaultConfiguration;
            invokevirtual org.ehcache.core.config.DefaultConfiguration.getCacheConfigurations:()Ljava/util/Map;
         4: .line 598
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: org.ehcache.core.EhcacheManager org.ehcache.core.StatusTransitioner$Transition java.util.Deque top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* cacheConfigurationEntry */
        start local 3 // java.util.Map$Entry cacheConfigurationEntry
         6: .line 599
            aload 3 /* cacheConfigurationEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* alias */
        start local 5 // java.lang.String alias
         7: .line 600
            aload 0 /* this */
            aload 5 /* alias */
            aload 3 /* cacheConfigurationEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.ehcache.config.CacheConfiguration
            iconst_0
            invokevirtual org.ehcache.core.EhcacheManager.createCache:(Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration;Z)Lorg/ehcache/Cache;
            pop
         8: .line 601
            aload 2 /* initiatedCaches */
            aload 5 /* alias */
            invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
        end local 5 // java.lang.String alias
        end local 3 // java.util.Map$Entry cacheConfigurationEntry
         9: .line 597
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 603
            goto 24
      StackMap locals: org.ehcache.core.EhcacheManager org.ehcache.core.StatusTransitioner$Transition java.util.Deque
      StackMap stack: java.lang.RuntimeException
        11: astore 3 /* e */
        start local 3 // java.lang.RuntimeException e
        12: .line 604
            goto 18
        13: .line 605
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
            aload 2 /* initiatedCaches */
            invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* toBeClosed */
        start local 4 // java.lang.String toBeClosed
        14: .line 607
            aload 0 /* this */
            aload 4 /* toBeClosed */
            iconst_0
            invokevirtual org.ehcache.core.EhcacheManager.removeCache:(Ljava/lang/String;Z)V
        15: .line 608
            goto 18
      StackMap locals: org.ehcache.core.EhcacheManager org.ehcache.core.StatusTransitioner$Transition java.util.Deque java.lang.RuntimeException java.lang.String
      StackMap stack: java.lang.Exception
        16: astore 5 /* exceptionClosingCache */
        start local 5 // java.lang.Exception exceptionClosingCache
        17: .line 609
            getstatic org.ehcache.core.EhcacheManager.LOGGER:Lorg/slf4j/Logger;
            ldc "Cache '{}' could not be removed after initialization failure due to "
            aload 4 /* toBeClosed */
            aload 5 /* exceptionClosingCache */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 5 // java.lang.Exception exceptionClosingCache
        end local 4 // java.lang.String toBeClosed
        18: .line 604
      StackMap locals:
      StackMap stack:
            aload 2 /* initiatedCaches */
            invokeinterface java.util.Deque.isEmpty:()Z
            ifeq 13
        19: .line 613
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.serviceLocator:Lorg/ehcache/core/spi/ServiceLocator;
            invokevirtual org.ehcache.core.spi.ServiceLocator.stopAllServices:()V
        20: .line 614
            goto 23
      StackMap locals:
      StackMap stack: java.lang.Exception
        21: astore 4 /* exceptionStoppingServices */
        start local 4 // java.lang.Exception exceptionStoppingServices
        22: .line 615
            getstatic org.ehcache.core.EhcacheManager.LOGGER:Lorg/slf4j/Logger;
            ldc "Stopping services after initialization failure failed due to "
            aload 4 /* exceptionStoppingServices */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 4 // java.lang.Exception exceptionStoppingServices
        23: .line 617
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // java.lang.RuntimeException e
        24: .line 619
      StackMap locals:
      StackMap stack:
            aload 1 /* st */
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.succeeded:()V
        end local 2 // java.util.Deque initiatedCaches
        25: .line 620
            goto 31
      StackMap locals: org.ehcache.core.EhcacheManager org.ehcache.core.StatusTransitioner$Transition
      StackMap stack: java.lang.Exception
        26: astore 2 /* e */
        start local 2 // java.lang.Exception e
        27: .line 621
            aload 1 /* st */
            aload 2 /* e */
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.failed:(Ljava/lang/Throwable;)Lorg/ehcache/StateTransitionException;
            athrow
        end local 2 // java.lang.Exception e
        28: .line 622
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        29: .line 623
            aload 1 /* st */
            aconst_null
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.failed:(Ljava/lang/Throwable;)Lorg/ehcache/StateTransitionException;
            pop
        30: .line 624
            aload 6
            athrow
        31: .line 623
      StackMap locals:
      StackMap stack:
            aload 1 /* st */
            aconst_null
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.failed:(Ljava/lang/Throwable;)Lorg/ehcache/StateTransitionException;
            pop
        32: .line 625
            return
        end local 1 // org.ehcache.core.StatusTransitioner$Transition st
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   33     0                       this  Lorg/ehcache/core/EhcacheManager;
            1   33     1                         st  Lorg/ehcache/core/StatusTransitioner$Transition;
            3   25     2            initiatedCaches  Ljava/util/Deque<Ljava/lang/String;>;
            6    9     3    cacheConfigurationEntry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/ehcache/config/CacheConfiguration<**>;>;
            7    9     5                      alias  Ljava/lang/String;
           12   24     3                          e  Ljava/lang/RuntimeException;
           14   18     4                 toBeClosed  Ljava/lang/String;
           17   18     5      exceptionClosingCache  Ljava/lang/Exception;
           22   23     4  exceptionStoppingServices  Ljava/lang/Exception;
           27   28     2                          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3    10      11  Class java.lang.RuntimeException
          14    15      16  Class java.lang.Exception
          19    20      21  Class java.lang.Exception
           1    25      26  Class java.lang.Exception
           1    28      28  any

  public org.ehcache.Status getStatus();
    descriptor: ()Lorg/ehcache/Status;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.ehcache.core.EhcacheManager this
         0: .line 629
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            invokevirtual org.ehcache.core.StatusTransitioner.currentStatus:()Lorg/ehcache/Status;
            areturn
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/ehcache/core/EhcacheManager;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.ehcache.core.EhcacheManager this
         0: .line 634
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            invokevirtual org.ehcache.core.StatusTransitioner.close:()Lorg/ehcache/core/StatusTransitioner$Transition;
            astore 1 /* st */
        start local 1 // org.ehcache.core.StatusTransitioner$Transition st
         1: .line 636
            aconst_null
            astore 2 /* firstException */
        start local 2 // java.lang.Exception firstException
         2: .line 638
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.caches:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 11
      StackMap locals: org.ehcache.core.EhcacheManager org.ehcache.core.StatusTransitioner$Transition java.lang.Exception top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* alias */
        start local 3 // java.lang.String alias
         4: .line 640
            aload 0 /* this */
            aload 3 /* alias */
            iconst_0
            invokevirtual org.ehcache.core.EhcacheManager.removeCache:(Ljava/lang/String;Z)V
         5: .line 641
            goto 11
      StackMap locals: org.ehcache.core.EhcacheManager org.ehcache.core.StatusTransitioner$Transition java.lang.Exception java.lang.String java.util.Iterator
      StackMap stack: java.lang.Exception
         6: astore 5 /* e */
        start local 5 // java.lang.Exception e
         7: .line 642
            aload 2 /* firstException */
            ifnonnull 10
         8: .line 643
            aload 5 /* e */
            astore 2 /* firstException */
         9: .line 644
            goto 11
        10: .line 645
      StackMap locals: java.lang.Exception
      StackMap stack:
            getstatic org.ehcache.core.EhcacheManager.LOGGER:Lorg/slf4j/Logger;
            ldc "Cache '{}' could not be removed due to "
            aload 3 /* alias */
            aload 5 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 5 // java.lang.Exception e
        end local 3 // java.lang.String alias
        11: .line 638
      StackMap locals: org.ehcache.core.EhcacheManager org.ehcache.core.StatusTransitioner$Transition java.lang.Exception top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        12: .line 650
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.serviceLocator:Lorg/ehcache/core/spi/ServiceLocator;
            invokevirtual org.ehcache.core.spi.ServiceLocator.stopAllServices:()V
        13: .line 651
            aload 2 /* firstException */
            ifnonnull 27
        14: .line 652
            aload 1 /* st */
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.succeeded:()V
        15: .line 654
            goto 27
      StackMap locals: org.ehcache.core.EhcacheManager org.ehcache.core.StatusTransitioner$Transition java.lang.Exception
      StackMap stack: java.lang.Exception
        16: astore 3 /* e */
        start local 3 // java.lang.Exception e
        17: .line 655
            aload 2 /* firstException */
            ifnonnull 19
        18: .line 656
            aload 3 /* e */
            astore 2 /* firstException */
        end local 3 // java.lang.Exception e
        19: .line 659
      StackMap locals:
      StackMap stack:
            aload 2 /* firstException */
            ifnull 21
        20: .line 660
            aload 1 /* st */
            aload 2 /* firstException */
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.failed:(Ljava/lang/Throwable;)Lorg/ehcache/StateTransitionException;
            athrow
        21: .line 662
      StackMap locals:
      StackMap stack:
            aload 1 /* st */
            aconst_null
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.failed:(Ljava/lang/Throwable;)Lorg/ehcache/StateTransitionException;
            pop
            goto 30
        22: .line 658
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        23: .line 659
            aload 2 /* firstException */
            ifnull 25
        24: .line 660
            aload 1 /* st */
            aload 2 /* firstException */
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.failed:(Ljava/lang/Throwable;)Lorg/ehcache/StateTransitionException;
            athrow
        25: .line 662
      StackMap locals: org.ehcache.core.EhcacheManager org.ehcache.core.StatusTransitioner$Transition java.lang.Exception top top top java.lang.Throwable
      StackMap stack:
            aload 1 /* st */
            aconst_null
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.failed:(Ljava/lang/Throwable;)Lorg/ehcache/StateTransitionException;
            pop
        26: .line 663
            aload 6
            athrow
        27: .line 659
      StackMap locals: org.ehcache.core.EhcacheManager org.ehcache.core.StatusTransitioner$Transition java.lang.Exception
      StackMap stack:
            aload 2 /* firstException */
            ifnull 29
        28: .line 660
            aload 1 /* st */
            aload 2 /* firstException */
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.failed:(Ljava/lang/Throwable;)Lorg/ehcache/StateTransitionException;
            athrow
        29: .line 662
      StackMap locals:
      StackMap stack:
            aload 1 /* st */
            aconst_null
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.failed:(Ljava/lang/Throwable;)Lorg/ehcache/StateTransitionException;
            pop
        30: .line 664
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Exception firstException
        end local 1 // org.ehcache.core.StatusTransitioner$Transition st
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   31     0            this  Lorg/ehcache/core/EhcacheManager;
            1   31     1              st  Lorg/ehcache/core/StatusTransitioner$Transition;
            2   31     2  firstException  Ljava/lang/Exception;
            4   11     3           alias  Ljava/lang/String;
            7   11     5               e  Ljava/lang/Exception;
           17   19     3               e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.Exception
           2    15      16  Class java.lang.Exception
           2    19      22  any

  public org.ehcache.config.Configuration getRuntimeConfiguration();
    descriptor: ()Lorg/ehcache/config/Configuration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.ehcache.core.EhcacheManager this
         0: .line 668
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.configuration:Lorg/ehcache/core/config/DefaultConfiguration;
            areturn
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/ehcache/core/EhcacheManager;

  public void destroyCache(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // java.lang.String alias
         0: .line 673
            aload 1 /* alias */
            ifnonnull 2
         1: .line 674
            new java.lang.NullPointerException
            dup
            ldc "Alias cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 677
      StackMap locals:
      StackMap stack:
            getstatic org.ehcache.core.EhcacheManager.LOGGER:Lorg/slf4j/Logger;
            ldc "Destroying Cache '{}' in {}."
            aload 1 /* alias */
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.simpleName:Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 679
            aconst_null
            astore 2 /* maintenance */
        start local 2 // org.ehcache.core.StatusTransitioner$Transition maintenance
         4: .line 681
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            invokevirtual org.ehcache.core.StatusTransitioner.maintenance:()Lorg/ehcache/core/StatusTransitioner$Transition;
            astore 2 /* maintenance */
         5: .line 682
            goto 8
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.core.StatusTransitioner$Transition
      StackMap stack: java.lang.IllegalStateException
         6: pop
         7: .line 686
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            invokevirtual org.ehcache.core.StatusTransitioner.checkAvailable:()V
         8: .line 689
      StackMap locals:
      StackMap stack:
            aload 2 /* maintenance */
            ifnull 14
         9: .line 691
            aload 0 /* this */
            getstatic org.ehcache.spi.service.MaintainableService$MaintenanceScope.CACHE:Lorg/ehcache/spi/service/MaintainableService$MaintenanceScope;
            invokevirtual org.ehcache.core.EhcacheManager.startMaintainableServices:(Lorg/ehcache/spi/service/MaintainableService$MaintenanceScope;)V
        10: .line 692
            aload 2 /* maintenance */
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.succeeded:()V
        11: .line 693
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 3 /* t */
        start local 3 // java.lang.Throwable t
        13: .line 694
            aload 2 /* maintenance */
            aload 3 /* t */
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.failed:(Ljava/lang/Throwable;)Lorg/ehcache/StateTransitionException;
            athrow
        end local 3 // java.lang.Throwable t
        14: .line 699
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* alias */
            iconst_1
            invokevirtual org.ehcache.core.EhcacheManager.removeCache:(Ljava/lang/String;Z)V
        15: .line 700
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual org.ehcache.core.EhcacheManager.destroyPersistenceSpace:(Ljava/lang/String;)V
        16: .line 701
            goto 26
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 3
        18: .line 703
            aload 2 /* maintenance */
            ifnull 25
        19: .line 704
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            invokevirtual org.ehcache.core.StatusTransitioner.exitMaintenance:()Lorg/ehcache/core/StatusTransitioner$Transition;
            astore 4 /* st */
        start local 4 // org.ehcache.core.StatusTransitioner$Transition st
        20: .line 706
            aload 0 /* this */
            invokevirtual org.ehcache.core.EhcacheManager.stopMaintainableServices:()V
        21: .line 707
            aload 4 /* st */
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.succeeded:()V
        22: .line 708
            goto 25
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.core.StatusTransitioner$Transition java.lang.Throwable org.ehcache.core.StatusTransitioner$Transition
      StackMap stack: java.lang.Throwable
        23: astore 5 /* t */
        start local 5 // java.lang.Throwable t
        24: .line 709
            aload 4 /* st */
            aload 5 /* t */
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.failed:(Ljava/lang/Throwable;)Lorg/ehcache/StateTransitionException;
            athrow
        end local 5 // java.lang.Throwable t
        end local 4 // org.ehcache.core.StatusTransitioner$Transition st
        25: .line 712
      StackMap locals:
      StackMap stack:
            aload 3
            athrow
        26: .line 703
      StackMap locals:
      StackMap stack:
            aload 2 /* maintenance */
            ifnull 33
        27: .line 704
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            invokevirtual org.ehcache.core.StatusTransitioner.exitMaintenance:()Lorg/ehcache/core/StatusTransitioner$Transition;
            astore 4 /* st */
        start local 4 // org.ehcache.core.StatusTransitioner$Transition st
        28: .line 706
            aload 0 /* this */
            invokevirtual org.ehcache.core.EhcacheManager.stopMaintainableServices:()V
        29: .line 707
            aload 4 /* st */
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.succeeded:()V
        30: .line 708
            goto 33
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.core.StatusTransitioner$Transition top org.ehcache.core.StatusTransitioner$Transition
      StackMap stack: java.lang.Throwable
        31: astore 5 /* t */
        start local 5 // java.lang.Throwable t
        32: .line 709
            aload 4 /* st */
            aload 5 /* t */
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.failed:(Ljava/lang/Throwable;)Lorg/ehcache/StateTransitionException;
            athrow
        end local 5 // java.lang.Throwable t
        end local 4 // org.ehcache.core.StatusTransitioner$Transition st
        33: .line 714
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String org.ehcache.core.StatusTransitioner$Transition
      StackMap stack:
            getstatic org.ehcache.core.EhcacheManager.LOGGER:Lorg/slf4j/Logger;
            ldc "Cache '{}' successfully destroyed in {}."
            aload 1 /* alias */
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.simpleName:Ljava/lang/String;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        34: .line 715
            return
        end local 2 // org.ehcache.core.StatusTransitioner$Transition maintenance
        end local 1 // java.lang.String alias
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   35     0         this  Lorg/ehcache/core/EhcacheManager;
            0   35     1        alias  Ljava/lang/String;
            4   35     2  maintenance  Lorg/ehcache/core/StatusTransitioner$Transition;
           13   14     3            t  Ljava/lang/Throwable;
           20   25     4           st  Lorg/ehcache/core/StatusTransitioner$Transition;
           28   33     4           st  Lorg/ehcache/core/StatusTransitioner$Transition;
           24   25     5            t  Ljava/lang/Throwable;
           32   33     5            t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.IllegalStateException
           9    11      12  Class java.lang.Throwable
          14    17      17  any
          20    22      23  Class java.lang.Throwable
          28    30      31  Class java.lang.Throwable
    Exceptions:
      throws org.ehcache.CachePersistenceException
    MethodParameters:
       Name  Flags
      alias  final

  private void destroyPersistenceSpace(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // java.lang.String alias
         0: .line 718
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.serviceLocator:Lorg/ehcache/core/spi/ServiceLocator;
            ldc Lorg/ehcache/spi/persistence/PersistableResourceService;
            invokevirtual org.ehcache.core.spi.ServiceLocator.getServicesOfType:(Ljava/lang/Class;)Ljava/util/Collection;
            astore 2 /* services */
        start local 2 // java.util.Collection services
         1: .line 719
            aload 2 /* services */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.ehcache.core.EhcacheManager java.lang.String java.util.Collection top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.spi.persistence.PersistableResourceService
            astore 3 /* service */
        start local 3 // org.ehcache.spi.persistence.PersistableResourceService service
         3: .line 720
            aload 3 /* service */
            aload 1 /* alias */
            invokeinterface org.ehcache.spi.persistence.PersistableResourceService.destroy:(Ljava/lang/String;)V
        end local 3 // org.ehcache.spi.persistence.PersistableResourceService service
         4: .line 719
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 722
            return
        end local 2 // java.util.Collection services
        end local 1 // java.lang.String alias
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/ehcache/core/EhcacheManager;
            0    6     1     alias  Ljava/lang/String;
            1    6     2  services  Ljava/util/Collection<Lorg/ehcache/spi/persistence/PersistableResourceService;>;
            3    4     3   service  Lorg/ehcache/spi/persistence/PersistableResourceService;
    Exceptions:
      throws org.ehcache.CachePersistenceException
    MethodParameters:
       Name  Flags
      alias  

  public void destroy();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.ehcache.core.EhcacheManager this
         0: .line 726
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            invokevirtual org.ehcache.core.StatusTransitioner.maintenance:()Lorg/ehcache/core/StatusTransitioner$Transition;
            astore 1 /* st */
        start local 1 // org.ehcache.core.StatusTransitioner$Transition st
         1: .line 728
            aload 0 /* this */
            getstatic org.ehcache.spi.service.MaintainableService$MaintenanceScope.CACHE_MANAGER:Lorg/ehcache/spi/service/MaintainableService$MaintenanceScope;
            invokevirtual org.ehcache.core.EhcacheManager.startMaintainableServices:(Lorg/ehcache/spi/service/MaintainableService$MaintenanceScope;)V
         2: .line 729
            aload 1 /* st */
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.succeeded:()V
         3: .line 730
            goto 6
      StackMap locals: org.ehcache.core.EhcacheManager org.ehcache.core.StatusTransitioner$Transition
      StackMap stack: java.lang.Throwable
         4: astore 2 /* t */
        start local 2 // java.lang.Throwable t
         5: .line 731
            aload 1 /* st */
            aload 2 /* t */
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.failed:(Ljava/lang/Throwable;)Lorg/ehcache/StateTransitionException;
            athrow
        end local 2 // java.lang.Throwable t
         6: .line 733
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.ehcache.core.EhcacheManager.destroyInternal:()V
         7: .line 734
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            invokevirtual org.ehcache.core.StatusTransitioner.exitMaintenance:()Lorg/ehcache/core/StatusTransitioner$Transition;
            astore 1 /* st */
         8: .line 736
            aload 0 /* this */
            invokevirtual org.ehcache.core.EhcacheManager.stopMaintainableServices:()V
         9: .line 737
            aload 1 /* st */
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.succeeded:()V
        10: .line 738
            goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 2 /* t */
        start local 2 // java.lang.Throwable t
        12: .line 739
            aload 1 /* st */
            aload 2 /* t */
            invokevirtual org.ehcache.core.StatusTransitioner$Transition.failed:(Ljava/lang/Throwable;)Lorg/ehcache/StateTransitionException;
            athrow
        end local 2 // java.lang.Throwable t
        13: .line 741
      StackMap locals:
      StackMap stack:
            getstatic org.ehcache.core.EhcacheManager.LOGGER:Lorg/slf4j/Logger;
            ldc "All persistent data destroyed for {}"
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.simpleName:Ljava/lang/String;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
        14: .line 742
            return
        end local 1 // org.ehcache.core.StatusTransitioner$Transition st
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lorg/ehcache/core/EhcacheManager;
            1   15     1    st  Lorg/ehcache/core/StatusTransitioner$Transition;
            5    6     2     t  Ljava/lang/Throwable;
           12   13     2     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     3       4  Class java.lang.Throwable
           8    10      11  Class java.lang.Throwable
    Exceptions:
      throws org.ehcache.CachePersistenceException

  private void startMaintainableServices(org.ehcache.spi.service.MaintainableService$MaintenanceScope);
    descriptor: (Lorg/ehcache/spi/service/MaintainableService$MaintenanceScope;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.ehcache.core.EhcacheManager this
        start local 1 // org.ehcache.spi.service.MaintainableService$MaintenanceScope maintenanceScope
         0: .line 745
            aload 0 /* this */
            invokevirtual org.ehcache.core.EhcacheManager.getMaintainableServiceProvider:()Lorg/ehcache/spi/service/ServiceProvider;
            astore 2 /* provider */
        start local 2 // org.ehcache.spi.service.ServiceProvider provider
         1: .line 746
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.serviceLocator:Lorg/ehcache/core/spi/ServiceLocator;
            ldc Lorg/ehcache/spi/service/MaintainableService;
            invokevirtual org.ehcache.core.spi.ServiceLocator.getServicesOfType:(Ljava/lang/Class;)Ljava/util/Collection;
            astore 3 /* services */
        start local 3 // java.util.Collection services
         2: .line 747
            aload 3 /* services */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 5
      StackMap locals: org.ehcache.core.EhcacheManager org.ehcache.spi.service.MaintainableService$MaintenanceScope org.ehcache.spi.service.ServiceProvider java.util.Collection top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.spi.service.MaintainableService
            astore 4 /* service */
        start local 4 // org.ehcache.spi.service.MaintainableService service
         4: .line 748
            aload 4 /* service */
            aload 2 /* provider */
            aload 1 /* maintenanceScope */
            invokeinterface org.ehcache.spi.service.MaintainableService.startForMaintenance:(Lorg/ehcache/spi/service/ServiceProvider;Lorg/ehcache/spi/service/MaintainableService$MaintenanceScope;)V
        end local 4 // org.ehcache.spi.service.MaintainableService service
         5: .line 747
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 750
            return
        end local 3 // java.util.Collection services
        end local 2 // org.ehcache.spi.service.ServiceProvider provider
        end local 1 // org.ehcache.spi.service.MaintainableService$MaintenanceScope maintenanceScope
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lorg/ehcache/core/EhcacheManager;
            0    7     1  maintenanceScope  Lorg/ehcache/spi/service/MaintainableService$MaintenanceScope;
            1    7     2          provider  Lorg/ehcache/spi/service/ServiceProvider<Lorg/ehcache/spi/service/MaintainableService;>;
            2    7     3          services  Ljava/util/Collection<Lorg/ehcache/spi/service/MaintainableService;>;
            4    5     4           service  Lorg/ehcache/spi/service/MaintainableService;
    MethodParameters:
                  Name  Flags
      maintenanceScope  

  private org.ehcache.spi.service.ServiceProvider<org.ehcache.spi.service.MaintainableService> getMaintainableServiceProvider();
    descriptor: ()Lorg/ehcache/spi/service/ServiceProvider;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.ehcache.core.EhcacheManager this
         0: .line 753
            new org.ehcache.core.EhcacheManager$9
            dup
            aload 0 /* this */
            invokespecial org.ehcache.core.EhcacheManager$9.<init>:(Lorg/ehcache/core/EhcacheManager;)V
            areturn
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/ehcache/core/EhcacheManager;
    Signature: ()Lorg/ehcache/spi/service/ServiceProvider<Lorg/ehcache/spi/service/MaintainableService;>;

  private void stopMaintainableServices();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.ehcache.core.EhcacheManager this
         0: .line 766
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.serviceLocator:Lorg/ehcache/core/spi/ServiceLocator;
            ldc Lorg/ehcache/spi/service/MaintainableService;
            invokevirtual org.ehcache.core.spi.ServiceLocator.getServicesOfType:(Ljava/lang/Class;)Ljava/util/Collection;
            astore 1 /* services */
        start local 1 // java.util.Collection services
         1: .line 767
            aload 1 /* services */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.ehcache.core.EhcacheManager java.util.Collection top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.spi.service.MaintainableService
            astore 2 /* service */
        start local 2 // org.ehcache.spi.service.MaintainableService service
         3: .line 768
            aload 2 /* service */
            invokeinterface org.ehcache.spi.service.MaintainableService.stop:()V
        end local 2 // org.ehcache.spi.service.MaintainableService service
         4: .line 767
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 770
            return
        end local 1 // java.util.Collection services
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/ehcache/core/EhcacheManager;
            1    6     1  services  Ljava/util/Collection<Lorg/ehcache/spi/service/MaintainableService;>;
            3    4     2   service  Lorg/ehcache/spi/service/MaintainableService;

  java.lang.ClassLoader getClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.ehcache.core.EhcacheManager this
         0: .line 774
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.cacheManagerClassLoader:Ljava/lang/ClassLoader;
            areturn
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/ehcache/core/EhcacheManager;

  void destroyInternal();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.ehcache.core.EhcacheManager this
         0: .line 778
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.statusTransitioner:Lorg/ehcache/core/StatusTransitioner;
            invokevirtual org.ehcache.core.StatusTransitioner.checkMaintenance:()V
         1: .line 779
            aload 0 /* this */
            getfield org.ehcache.core.EhcacheManager.serviceLocator:Lorg/ehcache/core/spi/ServiceLocator;
            ldc Lorg/ehcache/spi/persistence/PersistableResourceService;
            invokevirtual org.ehcache.core.spi.ServiceLocator.getServicesOfType:(Ljava/lang/Class;)Ljava/util/Collection;
            astore 1 /* services */
        start local 1 // java.util.Collection services
         2: .line 780
            aload 1 /* services */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.ehcache.core.EhcacheManager java.util.Collection top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.spi.persistence.PersistableResourceService
            astore 2 /* service */
        start local 2 // org.ehcache.spi.persistence.PersistableResourceService service
         4: .line 781
            aload 2 /* service */
            invokeinterface org.ehcache.spi.persistence.PersistableResourceService.destroyAll:()V
        end local 2 // org.ehcache.spi.persistence.PersistableResourceService service
         5: .line 780
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 783
            return
        end local 1 // java.util.Collection services
        end local 0 // org.ehcache.core.EhcacheManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/ehcache/core/EhcacheManager;
            2    7     1  services  Ljava/util/Collection<Lorg/ehcache/spi/persistence/PersistableResourceService;>;
            4    5     2   service  Lorg/ehcache/spi/persistence/PersistableResourceService;
    Exceptions:
      throws org.ehcache.CachePersistenceException

  private static org.ehcache.core.spi.ServiceLocator$DependencySet lambda$0(java.util.Collection, org.ehcache.core.spi.ServiceLocator$DependencySet);
    descriptor: (Ljava/util/Collection;Lorg/ehcache/core/spi/ServiceLocator$DependencySet;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // org.ehcache.core.spi.ServiceLocator$DependencySet dependencies
         0: .line 117
            aload 1 /* dependencies */
            aload 0
            invokevirtual org.ehcache.core.spi.ServiceLocator$DependencySet.with:(Ljava/lang/Iterable;)Lorg/ehcache/core/spi/ServiceLocator$DependencySet;
            areturn
        end local 1 // org.ehcache.core.spi.ServiceLocator$DependencySet dependencies
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     1  dependencies  Lorg/ehcache/core/spi/ServiceLocator$DependencySet;

  private static java.lang.Boolean lambda$3(org.ehcache.config.CacheConfiguration);
    descriptor: (Lorg/ehcache/config/CacheConfiguration;)Ljava/lang/Boolean;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 492
            aload 0
            invokeinterface org.ehcache.config.CacheConfiguration.getResourcePools:()Lorg/ehcache/config/ResourcePools;
            invokeinterface org.ehcache.config.ResourcePools.getResourceTypeSet:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            iconst_1
            if_icmple 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "EhcacheManager.java"
NestMembers:
  org.ehcache.core.EhcacheManager$1  org.ehcache.core.EhcacheManager$2  org.ehcache.core.EhcacheManager$3  org.ehcache.core.EhcacheManager$4  org.ehcache.core.EhcacheManager$5  org.ehcache.core.EhcacheManager$6  org.ehcache.core.EhcacheManager$7  org.ehcache.core.EhcacheManager$8  org.ehcache.core.EhcacheManager$9  org.ehcache.core.EhcacheManager$CacheHolder
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  org.ehcache.core.EhcacheManager$1
  org.ehcache.core.EhcacheManager$2
  org.ehcache.core.EhcacheManager$3
  org.ehcache.core.EhcacheManager$4
  org.ehcache.core.EhcacheManager$5
  org.ehcache.core.EhcacheManager$6
  org.ehcache.core.EhcacheManager$7
  org.ehcache.core.EhcacheManager$8
  org.ehcache.core.EhcacheManager$9
  private final CacheHolder = org.ehcache.core.EhcacheManager$CacheHolder of org.ehcache.core.EhcacheManager
  final Transition = org.ehcache.core.StatusTransitioner$Transition of org.ehcache.core.StatusTransitioner
  public DependencySet = org.ehcache.core.spi.ServiceLocator$DependencySet of org.ehcache.core.spi.ServiceLocator
  public abstract Configuration = org.ehcache.core.spi.store.Store$Configuration of org.ehcache.core.spi.store.Store
  public abstract Provider = org.ehcache.core.spi.store.Store$Provider of org.ehcache.core.spi.store.Store
  public abstract PersistenceSpaceIdentifier = org.ehcache.spi.persistence.PersistableResourceService$PersistenceSpaceIdentifier of org.ehcache.spi.persistence.PersistableResourceService
  public final MaintenanceScope = org.ehcache.spi.service.MaintainableService$MaintenanceScope of org.ehcache.spi.service.MaintainableService