public class org.ehcache.impl.internal.store.tiering.TieredStore$Provider implements org.ehcache.core.spi.store.Store$Provider
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.ehcache.impl.internal.store.tiering.TieredStore$Provider
  super_class: java.lang.Object
{
  private volatile org.ehcache.spi.service.ServiceProvider<org.ehcache.spi.service.Service> serviceProvider;
    descriptor: Lorg/ehcache/spi/service/ServiceProvider;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: Lorg/ehcache/spi/service/ServiceProvider<Lorg/ehcache/spi/service/Service;>;

  private final java.util.concurrent.ConcurrentMap<org.ehcache.core.spi.store.Store<?, ?>, java.util.Map$Entry<org.ehcache.core.spi.store.tiering.CachingTier$Provider, org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider>> providersMap;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentMap<Lorg/ehcache/core/spi/store/Store<**>;Ljava/util/Map$Entry<Lorg/ehcache/core/spi/store/tiering/CachingTier$Provider;Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$Provider;>;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
         0: .line 396
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 399
            aload 0 /* this */
            new org.ehcache.core.collections.ConcurrentWeakIdentityHashMap
            dup
            invokespecial org.ehcache.core.collections.ConcurrentWeakIdentityHashMap.<init>:()V
            putfield org.ehcache.impl.internal.store.tiering.TieredStore$Provider.providersMap:Ljava/util/concurrent/ConcurrentMap;
         2: .line 396
            return
        end local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/ehcache/impl/internal/store/tiering/TieredStore$Provider;

  public int rank(java.util.Set<org.ehcache.config.ResourceType<?>>, java.util.Collection<org.ehcache.spi.service.ServiceConfiguration<?, ?>>);
    descriptor: (Ljava/util/Set;Ljava/util/Collection;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=12, args_size=3
        start local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
        start local 1 // java.util.Set resourceTypes
        start local 2 // java.util.Collection serviceConfigs
         0: .line 403
            aload 1 /* resourceTypes */
            invokeinterface java.util.Set.size:()I
            iconst_1
            if_icmpne 2
         1: .line 404
            iconst_0
            ireturn
         2: .line 406
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resourceTypes */
            invokevirtual org.ehcache.impl.internal.store.tiering.TieredStore$Provider.getAuthorityResource:(Ljava/util/Set;)Lorg/ehcache/config/ResourceType;
            astore 3 /* authorityResource */
        start local 3 // org.ehcache.config.ResourceType authorityResource
         3: .line 407
            iconst_0
            istore 4 /* authorityRank */
        start local 4 // int authorityRank
         4: .line 408
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.tiering.TieredStore$Provider.serviceProvider:Lorg/ehcache/spi/service/ServiceProvider;
            ldc Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$Provider;
            invokeinterface org.ehcache.spi.service.ServiceProvider.getServicesOfType:(Ljava/lang/Class;)Ljava/util/Collection;
            astore 5 /* authorityProviders */
        start local 5 // java.util.Collection authorityProviders
         5: .line 409
            aload 5 /* authorityProviders */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 10
      StackMap locals: org.ehcache.impl.internal.store.tiering.TieredStore$Provider java.util.Set java.util.Collection org.ehcache.config.ResourceType int java.util.Collection top java.util.Iterator
      StackMap stack:
         6: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider
            astore 6 /* authorityProvider */
        start local 6 // org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider authorityProvider
         7: .line 410
            aload 6 /* authorityProvider */
            aload 3 /* authorityResource */
            aload 2 /* serviceConfigs */
            invokeinterface org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider.rankAuthority:(Lorg/ehcache/config/ResourceType;Ljava/util/Collection;)I
            istore 8 /* newRank */
        start local 8 // int newRank
         8: .line 411
            iload 8 /* newRank */
            iload 4 /* authorityRank */
            if_icmple 10
         9: .line 412
            iload 8 /* newRank */
            istore 4 /* authorityRank */
        end local 8 // int newRank
        end local 6 // org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider authorityProvider
        10: .line 409
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        11: .line 415
            iload 4 /* authorityRank */
            ifne 13
        12: .line 416
            iconst_0
            ireturn
        13: .line 418
      StackMap locals: org.ehcache.impl.internal.store.tiering.TieredStore$Provider java.util.Set java.util.Collection org.ehcache.config.ResourceType int java.util.Collection
      StackMap stack:
            new java.util.HashSet
            dup
            aload 1 /* resourceTypes */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 6 /* cachingResources */
        start local 6 // java.util.Set cachingResources
        14: .line 419
            aload 6 /* cachingResources */
            aload 3 /* authorityResource */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        15: .line 420
            iconst_0
            istore 7 /* cachingTierRank */
        start local 7 // int cachingTierRank
        16: .line 421
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.tiering.TieredStore$Provider.serviceProvider:Lorg/ehcache/spi/service/ServiceProvider;
            ldc Lorg/ehcache/core/spi/store/tiering/CachingTier$Provider;
            invokeinterface org.ehcache.spi.service.ServiceProvider.getServicesOfType:(Ljava/lang/Class;)Ljava/util/Collection;
            astore 8 /* cachingTierProviders */
        start local 8 // java.util.Collection cachingTierProviders
        17: .line 422
            aload 8 /* cachingTierProviders */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 10
            goto 22
      StackMap locals: org.ehcache.impl.internal.store.tiering.TieredStore$Provider java.util.Set java.util.Collection org.ehcache.config.ResourceType int java.util.Collection java.util.Set int java.util.Collection top java.util.Iterator
      StackMap stack:
        18: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.tiering.CachingTier$Provider
            astore 9 /* cachingTierProvider */
        start local 9 // org.ehcache.core.spi.store.tiering.CachingTier$Provider cachingTierProvider
        19: .line 423
            aload 9 /* cachingTierProvider */
            aload 6 /* cachingResources */
            aload 2 /* serviceConfigs */
            invokeinterface org.ehcache.core.spi.store.tiering.CachingTier$Provider.rankCachingTier:(Ljava/util/Set;Ljava/util/Collection;)I
            istore 11 /* newRank */
        start local 11 // int newRank
        20: .line 424
            iload 11 /* newRank */
            iload 7 /* cachingTierRank */
            if_icmple 22
        21: .line 425
            iload 11 /* newRank */
            istore 7 /* cachingTierRank */
        end local 11 // int newRank
        end local 9 // org.ehcache.core.spi.store.tiering.CachingTier$Provider cachingTierProvider
        22: .line 422
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        23: .line 428
            iload 7 /* cachingTierRank */
            ifne 25
        24: .line 429
            iconst_0
            ireturn
        25: .line 431
      StackMap locals: org.ehcache.impl.internal.store.tiering.TieredStore$Provider java.util.Set java.util.Collection org.ehcache.config.ResourceType int java.util.Collection java.util.Set int java.util.Collection
      StackMap stack:
            iload 4 /* authorityRank */
            iload 7 /* cachingTierRank */
            iadd
            ireturn
        end local 8 // java.util.Collection cachingTierProviders
        end local 7 // int cachingTierRank
        end local 6 // java.util.Set cachingResources
        end local 5 // java.util.Collection authorityProviders
        end local 4 // int authorityRank
        end local 3 // org.ehcache.config.ResourceType authorityResource
        end local 2 // java.util.Collection serviceConfigs
        end local 1 // java.util.Set resourceTypes
        end local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   26     0                  this  Lorg/ehcache/impl/internal/store/tiering/TieredStore$Provider;
            0   26     1         resourceTypes  Ljava/util/Set<Lorg/ehcache/config/ResourceType<*>;>;
            0   26     2        serviceConfigs  Ljava/util/Collection<Lorg/ehcache/spi/service/ServiceConfiguration<**>;>;
            3   26     3     authorityResource  Lorg/ehcache/config/ResourceType<*>;
            4   26     4         authorityRank  I
            5   26     5    authorityProviders  Ljava/util/Collection<Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$Provider;>;
            7   10     6     authorityProvider  Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$Provider;
            8   10     8               newRank  I
           14   26     6      cachingResources  Ljava/util/Set<Lorg/ehcache/config/ResourceType<*>;>;
           16   26     7       cachingTierRank  I
           17   26     8  cachingTierProviders  Ljava/util/Collection<Lorg/ehcache/core/spi/store/tiering/CachingTier$Provider;>;
           19   22     9   cachingTierProvider  Lorg/ehcache/core/spi/store/tiering/CachingTier$Provider;
           20   22    11               newRank  I
    Signature: (Ljava/util/Set<Lorg/ehcache/config/ResourceType<*>;>;Ljava/util/Collection<Lorg/ehcache/spi/service/ServiceConfiguration<**>;>;)I
    MethodParameters:
                Name  Flags
      resourceTypes   final
      serviceConfigs  final

  private org.ehcache.config.ResourceType<?> getAuthorityResource(java.util.Set<org.ehcache.config.ResourceType<?>>);
    descriptor: (Ljava/util/Set;)Lorg/ehcache/config/ResourceType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
        start local 1 // java.util.Set resourceTypes
         0: .line 435
            aconst_null
            astore 2 /* authorityResource */
        start local 2 // org.ehcache.config.ResourceType authorityResource
         1: .line 436
            aload 1 /* resourceTypes */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.ehcache.impl.internal.store.tiering.TieredStore$Provider java.util.Set org.ehcache.config.ResourceType top java.util.Iterator
      StackMap stack:
         2: 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
         3: .line 437
            aload 2 /* authorityResource */
            ifnull 4
            aload 2 /* authorityResource */
            invokeinterface org.ehcache.config.ResourceType.getTierHeight:()I
            aload 3 /* resourceType */
            invokeinterface org.ehcache.config.ResourceType.getTierHeight:()I
            if_icmple 5
         4: .line 438
      StackMap locals: org.ehcache.impl.internal.store.tiering.TieredStore$Provider java.util.Set org.ehcache.config.ResourceType org.ehcache.config.ResourceType java.util.Iterator
      StackMap stack:
            aload 3 /* resourceType */
            astore 2 /* authorityResource */
        end local 3 // org.ehcache.config.ResourceType resourceType
         5: .line 436
      StackMap locals: org.ehcache.impl.internal.store.tiering.TieredStore$Provider java.util.Set org.ehcache.config.ResourceType top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 441
            aload 2 /* authorityResource */
            areturn
        end local 2 // org.ehcache.config.ResourceType authorityResource
        end local 1 // java.util.Set resourceTypes
        end local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lorg/ehcache/impl/internal/store/tiering/TieredStore$Provider;
            0    7     1      resourceTypes  Ljava/util/Set<Lorg/ehcache/config/ResourceType<*>;>;
            1    7     2  authorityResource  Lorg/ehcache/config/ResourceType<*>;
            3    5     3       resourceType  Lorg/ehcache/config/ResourceType<*>;
    Signature: (Ljava/util/Set<Lorg/ehcache/config/ResourceType<*>;>;)Lorg/ehcache/config/ResourceType<*>;
    MethodParameters:
               Name  Flags
      resourceTypes  

  public <K, V> org.ehcache.core.spi.store.Store<K, V> createStore(org.ehcache.core.spi.store.Store$Configuration<K, V>, org.ehcache.spi.service.ServiceConfiguration<?, ?>[]);
    descriptor: (Lorg/ehcache/core/spi/store/Store$Configuration;[Lorg/ehcache/spi/service/ServiceConfiguration;)Lorg/ehcache/core/spi/store/Store;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=13, args_size=3
        start local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
        start local 1 // org.ehcache.core.spi.store.Store$Configuration storeConfig
        start local 2 // org.ehcache.spi.service.ServiceConfiguration[] serviceConfigs
         0: .line 446
            new java.util.ArrayList
            dup
            aload 2 /* serviceConfigs */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 3 /* enhancedServiceConfigs */
        start local 3 // java.util.List enhancedServiceConfigs
         1: .line 448
            aload 1 /* storeConfig */
            invokeinterface org.ehcache.core.spi.store.Store$Configuration.getResourcePools:()Lorg/ehcache/config/ResourcePools;
            astore 4 /* resourcePools */
        start local 4 // org.ehcache.config.ResourcePools resourcePools
         2: .line 449
            aload 0 /* this */
            aload 4 /* resourcePools */
            invokeinterface org.ehcache.config.ResourcePools.getResourceTypeSet:()Ljava/util/Set;
            aload 3 /* enhancedServiceConfigs */
            invokevirtual org.ehcache.impl.internal.store.tiering.TieredStore$Provider.rank:(Ljava/util/Set;Ljava/util/Collection;)I
            ifne 6
         3: .line 450
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "TieredStore.Provider does not support configured resource types "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 451
            aload 4 /* resourcePools */
            invokeinterface org.ehcache.config.ResourcePools.getResourceTypeSet:()Ljava/util/Set;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 450
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 454
      StackMap locals: java.util.List org.ehcache.config.ResourcePools
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resourcePools */
            invokeinterface org.ehcache.config.ResourcePools.getResourceTypeSet:()Ljava/util/Set;
            invokevirtual org.ehcache.impl.internal.store.tiering.TieredStore$Provider.getAuthorityResource:(Ljava/util/Set;)Lorg/ehcache/config/ResourceType;
            astore 5 /* authorityResource */
        start local 5 // org.ehcache.config.ResourceType authorityResource
         7: .line 455
            aload 0 /* this */
            aload 5 /* authorityResource */
            aload 3 /* enhancedServiceConfigs */
            invokevirtual org.ehcache.impl.internal.store.tiering.TieredStore$Provider.getAuthoritativeTierProvider:(Lorg/ehcache/config/ResourceType;Ljava/util/List;)Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$Provider;
            astore 6 /* authoritativeTierProvider */
        start local 6 // org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider authoritativeTierProvider
         8: .line 457
            new java.util.HashSet
            dup
            aload 4 /* resourcePools */
            invokeinterface org.ehcache.config.ResourcePools.getResourceTypeSet:()Ljava/util/Set;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 7 /* cachingResources */
        start local 7 // java.util.Set cachingResources
         9: .line 458
            aload 7 /* cachingResources */
            aload 5 /* authorityResource */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        10: .line 460
            aload 0 /* this */
            aload 7 /* cachingResources */
            aload 3 /* enhancedServiceConfigs */
            invokevirtual org.ehcache.impl.internal.store.tiering.TieredStore$Provider.getCachingTierProvider:(Ljava/util/Set;Ljava/util/List;)Lorg/ehcache/core/spi/store/tiering/CachingTier$Provider;
            astore 8 /* cachingTierProvider */
        start local 8 // org.ehcache.core.spi.store.tiering.CachingTier$Provider cachingTierProvider
        11: .line 463
            aload 3 /* enhancedServiceConfigs */
            aload 3 /* enhancedServiceConfigs */
            invokeinterface java.util.List.size:()I
            anewarray org.ehcache.spi.service.ServiceConfiguration
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.ehcache.spi.service.ServiceConfiguration[]
        12: .line 462
            astore 9 /* configurations */
        start local 9 // org.ehcache.spi.service.ServiceConfiguration[] configurations
        13: .line 464
            aload 8 /* cachingTierProvider */
            aload 1 /* storeConfig */
            aload 9 /* configurations */
            invokeinterface org.ehcache.core.spi.store.tiering.CachingTier$Provider.createCachingTier:(Lorg/ehcache/core/spi/store/Store$Configuration;[Lorg/ehcache/spi/service/ServiceConfiguration;)Lorg/ehcache/core/spi/store/tiering/CachingTier;
            astore 10 /* cachingTier */
        start local 10 // org.ehcache.core.spi.store.tiering.CachingTier cachingTier
        14: .line 465
            aload 6 /* authoritativeTierProvider */
            aload 1 /* storeConfig */
            aload 9 /* configurations */
            invokeinterface org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider.createAuthoritativeTier:(Lorg/ehcache/core/spi/store/Store$Configuration;[Lorg/ehcache/spi/service/ServiceConfiguration;)Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier;
            astore 11 /* authoritativeTier */
        start local 11 // org.ehcache.core.spi.store.tiering.AuthoritativeTier authoritativeTier
        15: .line 467
            new org.ehcache.impl.internal.store.tiering.TieredStore
            dup
            aload 10 /* cachingTier */
            aload 11 /* authoritativeTier */
            invokespecial org.ehcache.impl.internal.store.tiering.TieredStore.<init>:(Lorg/ehcache/core/spi/store/tiering/CachingTier;Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier;)V
            astore 12 /* store */
        start local 12 // org.ehcache.impl.internal.store.tiering.TieredStore store
        16: .line 468
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.tiering.TieredStore$Provider.serviceProvider:Lorg/ehcache/spi/service/ServiceProvider;
            ldc Lorg/ehcache/core/spi/service/StatisticsService;
            invokeinterface org.ehcache.spi.service.ServiceProvider.getService:(Ljava/lang/Class;)Lorg/ehcache/spi/service/Service;
            checkcast org.ehcache.core.spi.service.StatisticsService
            aload 10 /* cachingTier */
            aload 12 /* store */
            invokeinterface org.ehcache.core.spi.service.StatisticsService.registerWithParent:(Ljava/lang/Object;Ljava/lang/Object;)V
        17: .line 469
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.tiering.TieredStore$Provider.serviceProvider:Lorg/ehcache/spi/service/ServiceProvider;
            ldc Lorg/ehcache/core/spi/service/StatisticsService;
            invokeinterface org.ehcache.spi.service.ServiceProvider.getService:(Ljava/lang/Class;)Lorg/ehcache/spi/service/Service;
            checkcast org.ehcache.core.spi.service.StatisticsService
            aload 11 /* authoritativeTier */
            aload 12 /* store */
            invokeinterface org.ehcache.core.spi.service.StatisticsService.registerWithParent:(Ljava/lang/Object;Ljava/lang/Object;)V
        18: .line 470
            aload 0 /* this */
            aload 12 /* store */
            aload 8 /* cachingTierProvider */
            aload 6 /* authoritativeTierProvider */
            invokevirtual org.ehcache.impl.internal.store.tiering.TieredStore$Provider.registerStore:(Lorg/ehcache/impl/internal/store/tiering/TieredStore;Lorg/ehcache/core/spi/store/tiering/CachingTier$Provider;Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$Provider;)V
        19: .line 471
            aload 12 /* store */
            areturn
        end local 12 // org.ehcache.impl.internal.store.tiering.TieredStore store
        end local 11 // org.ehcache.core.spi.store.tiering.AuthoritativeTier authoritativeTier
        end local 10 // org.ehcache.core.spi.store.tiering.CachingTier cachingTier
        end local 9 // org.ehcache.spi.service.ServiceConfiguration[] configurations
        end local 8 // org.ehcache.core.spi.store.tiering.CachingTier$Provider cachingTierProvider
        end local 7 // java.util.Set cachingResources
        end local 6 // org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider authoritativeTierProvider
        end local 5 // org.ehcache.config.ResourceType authorityResource
        end local 4 // org.ehcache.config.ResourcePools resourcePools
        end local 3 // java.util.List enhancedServiceConfigs
        end local 2 // org.ehcache.spi.service.ServiceConfiguration[] serviceConfigs
        end local 1 // org.ehcache.core.spi.store.Store$Configuration storeConfig
        end local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   20     0                       this  Lorg/ehcache/impl/internal/store/tiering/TieredStore$Provider;
            0   20     1                storeConfig  Lorg/ehcache/core/spi/store/Store$Configuration<TK;TV;>;
            0   20     2             serviceConfigs  [Lorg/ehcache/spi/service/ServiceConfiguration;
            1   20     3     enhancedServiceConfigs  Ljava/util/List<Lorg/ehcache/spi/service/ServiceConfiguration<**>;>;
            2   20     4              resourcePools  Lorg/ehcache/config/ResourcePools;
            7   20     5          authorityResource  Lorg/ehcache/config/ResourceType<*>;
            8   20     6  authoritativeTierProvider  Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$Provider;
            9   20     7           cachingResources  Ljava/util/Set<Lorg/ehcache/config/ResourceType<*>;>;
           11   20     8        cachingTierProvider  Lorg/ehcache/core/spi/store/tiering/CachingTier$Provider;
           13   20     9             configurations  [Lorg/ehcache/spi/service/ServiceConfiguration;
           14   20    10                cachingTier  Lorg/ehcache/core/spi/store/tiering/CachingTier<TK;TV;>;
           15   20    11          authoritativeTier  Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier<TK;TV;>;
           16   20    12                      store  Lorg/ehcache/impl/internal/store/tiering/TieredStore<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/ehcache/core/spi/store/Store$Configuration<TK;TV;>;[Lorg/ehcache/spi/service/ServiceConfiguration<**>;)Lorg/ehcache/core/spi/store/Store<TK;TV;>;
    MethodParameters:
                Name  Flags
      storeConfig     
      serviceConfigs  

  private org.ehcache.core.spi.store.tiering.CachingTier$Provider getCachingTierProvider(java.util.Set<org.ehcache.config.ResourceType<?>>, java.util.List<org.ehcache.spi.service.ServiceConfiguration<?, ?>>);
    descriptor: (Ljava/util/Set;Ljava/util/List;)Lorg/ehcache/core/spi/store/tiering/CachingTier$Provider;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
        start local 1 // java.util.Set cachingResources
        start local 2 // java.util.List enhancedServiceConfigs
         0: .line 475
            aconst_null
            astore 3 /* cachingTierProvider */
        start local 3 // org.ehcache.core.spi.store.tiering.CachingTier$Provider cachingTierProvider
         1: .line 476
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.tiering.TieredStore$Provider.serviceProvider:Lorg/ehcache/spi/service/ServiceProvider;
            ldc Lorg/ehcache/core/spi/store/tiering/CachingTier$Provider;
            invokeinterface org.ehcache.spi.service.ServiceProvider.getServicesOfType:(Ljava/lang/Class;)Ljava/util/Collection;
            astore 4 /* cachingTierProviders */
        start local 4 // java.util.Collection cachingTierProviders
         2: .line 477
            aload 4 /* cachingTierProviders */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals: org.ehcache.impl.internal.store.tiering.TieredStore$Provider java.util.Set java.util.List org.ehcache.core.spi.store.tiering.CachingTier$Provider java.util.Collection top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.tiering.CachingTier$Provider
            astore 5 /* provider */
        start local 5 // org.ehcache.core.spi.store.tiering.CachingTier$Provider provider
         4: .line 478
            aload 5 /* provider */
            aload 1 /* cachingResources */
            aload 2 /* enhancedServiceConfigs */
            invokeinterface org.ehcache.core.spi.store.tiering.CachingTier$Provider.rankCachingTier:(Ljava/util/Set;Ljava/util/Collection;)I
            ifeq 7
         5: .line 479
            aload 5 /* provider */
            astore 3 /* cachingTierProvider */
         6: .line 480
            goto 8
        end local 5 // org.ehcache.core.spi.store.tiering.CachingTier$Provider provider
         7: .line 477
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 483
      StackMap locals: org.ehcache.impl.internal.store.tiering.TieredStore$Provider java.util.Set java.util.List org.ehcache.core.spi.store.tiering.CachingTier$Provider java.util.Collection
      StackMap stack:
            aload 3 /* cachingTierProvider */
            ifnonnull 10
         9: .line 484
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "No CachingTier.Provider found although ranking found one for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cachingResources */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 486
      StackMap locals:
      StackMap stack:
            aload 3 /* cachingTierProvider */
            areturn
        end local 4 // java.util.Collection cachingTierProviders
        end local 3 // org.ehcache.core.spi.store.tiering.CachingTier$Provider cachingTierProvider
        end local 2 // java.util.List enhancedServiceConfigs
        end local 1 // java.util.Set cachingResources
        end local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   11     0                    this  Lorg/ehcache/impl/internal/store/tiering/TieredStore$Provider;
            0   11     1        cachingResources  Ljava/util/Set<Lorg/ehcache/config/ResourceType<*>;>;
            0   11     2  enhancedServiceConfigs  Ljava/util/List<Lorg/ehcache/spi/service/ServiceConfiguration<**>;>;
            1   11     3     cachingTierProvider  Lorg/ehcache/core/spi/store/tiering/CachingTier$Provider;
            2   11     4    cachingTierProviders  Ljava/util/Collection<Lorg/ehcache/core/spi/store/tiering/CachingTier$Provider;>;
            4    7     5                provider  Lorg/ehcache/core/spi/store/tiering/CachingTier$Provider;
    Signature: (Ljava/util/Set<Lorg/ehcache/config/ResourceType<*>;>;Ljava/util/List<Lorg/ehcache/spi/service/ServiceConfiguration<**>;>;)Lorg/ehcache/core/spi/store/tiering/CachingTier$Provider;
    MethodParameters:
                        Name  Flags
      cachingResources        
      enhancedServiceConfigs  

  org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider getAuthoritativeTierProvider(org.ehcache.config.ResourceType<?>, java.util.List<org.ehcache.spi.service.ServiceConfiguration<?, ?>>);
    descriptor: (Lorg/ehcache/config/ResourceType;Ljava/util/List;)Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$Provider;
    flags: (0x0000) 
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
        start local 1 // org.ehcache.config.ResourceType authorityResource
        start local 2 // java.util.List enhancedServiceConfigs
         0: .line 490
            aconst_null
            astore 3 /* authoritativeTierProvider */
        start local 3 // org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider authoritativeTierProvider
         1: .line 491
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.tiering.TieredStore$Provider.serviceProvider:Lorg/ehcache/spi/service/ServiceProvider;
            ldc Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$Provider;
            invokeinterface org.ehcache.spi.service.ServiceProvider.getServicesOfType:(Ljava/lang/Class;)Ljava/util/Collection;
            astore 4 /* authorityProviders */
        start local 4 // java.util.Collection authorityProviders
         2: .line 492
            iconst_0
            istore 5 /* highestRank */
        start local 5 // int highestRank
         3: .line 493
            aload 4 /* authorityProviders */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 10
      StackMap locals: org.ehcache.impl.internal.store.tiering.TieredStore$Provider org.ehcache.config.ResourceType java.util.List org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider java.util.Collection int top java.util.Iterator
      StackMap stack:
         4: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider
            astore 6 /* provider */
        start local 6 // org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider provider
         5: .line 494
            aload 6 /* provider */
            aload 1 /* authorityResource */
            aload 2 /* enhancedServiceConfigs */
            invokeinterface org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider.rankAuthority:(Lorg/ehcache/config/ResourceType;Ljava/util/Collection;)I
            istore 8 /* rank */
        start local 8 // int rank
         6: .line 495
            iload 8 /* rank */
            ifeq 10
         7: .line 496
            iload 5 /* highestRank */
            iload 8 /* rank */
            if_icmpge 10
         8: .line 497
            aload 6 /* provider */
            astore 3 /* authoritativeTierProvider */
         9: .line 498
            iload 8 /* rank */
            istore 5 /* highestRank */
        end local 8 // int rank
        end local 6 // org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider provider
        10: .line 493
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        11: .line 502
            aload 3 /* authoritativeTierProvider */
            ifnonnull 13
        12: .line 503
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "No AuthoritativeTier.Provider found although ranking found one for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* authorityResource */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 505
      StackMap locals: org.ehcache.impl.internal.store.tiering.TieredStore$Provider org.ehcache.config.ResourceType java.util.List org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider java.util.Collection int
      StackMap stack:
            aload 3 /* authoritativeTierProvider */
            areturn
        end local 5 // int highestRank
        end local 4 // java.util.Collection authorityProviders
        end local 3 // org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider authoritativeTierProvider
        end local 2 // java.util.List enhancedServiceConfigs
        end local 1 // org.ehcache.config.ResourceType authorityResource
        end local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   14     0                       this  Lorg/ehcache/impl/internal/store/tiering/TieredStore$Provider;
            0   14     1          authorityResource  Lorg/ehcache/config/ResourceType<*>;
            0   14     2     enhancedServiceConfigs  Ljava/util/List<Lorg/ehcache/spi/service/ServiceConfiguration<**>;>;
            1   14     3  authoritativeTierProvider  Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$Provider;
            2   14     4         authorityProviders  Ljava/util/Collection<Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$Provider;>;
            3   14     5                highestRank  I
            5   10     6                   provider  Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$Provider;
            6   10     8                       rank  I
    Signature: (Lorg/ehcache/config/ResourceType<*>;Ljava/util/List<Lorg/ehcache/spi/service/ServiceConfiguration<**>;>;)Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$Provider;
    MethodParameters:
                        Name  Flags
      authorityResource       
      enhancedServiceConfigs  

  <K, V> void registerStore(org.ehcache.impl.internal.store.tiering.TieredStore<K, V>, org.ehcache.core.spi.store.tiering.CachingTier$Provider, org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider);
    descriptor: (Lorg/ehcache/impl/internal/store/tiering/TieredStore;Lorg/ehcache/core/spi/store/tiering/CachingTier$Provider;Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$Provider;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
        start local 1 // org.ehcache.impl.internal.store.tiering.TieredStore store
        start local 2 // org.ehcache.core.spi.store.tiering.CachingTier$Provider cachingTierProvider
        start local 3 // org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider authoritativeTierProvider
         0: .line 509
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.tiering.TieredStore$Provider.providersMap:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* store */
            new java.util.AbstractMap$SimpleEntry
            dup
            aload 2 /* cachingTierProvider */
            aload 3 /* authoritativeTierProvider */
            invokespecial java.util.AbstractMap$SimpleEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 2
         1: .line 510
            new java.lang.IllegalStateException
            dup
            ldc "Instance of the Store already registered!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 512
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider authoritativeTierProvider
        end local 2 // org.ehcache.core.spi.store.tiering.CachingTier$Provider cachingTierProvider
        end local 1 // org.ehcache.impl.internal.store.tiering.TieredStore store
        end local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    3     0                       this  Lorg/ehcache/impl/internal/store/tiering/TieredStore$Provider;
            0    3     1                      store  Lorg/ehcache/impl/internal/store/tiering/TieredStore<TK;TV;>;
            0    3     2        cachingTierProvider  Lorg/ehcache/core/spi/store/tiering/CachingTier$Provider;
            0    3     3  authoritativeTierProvider  Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$Provider;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/ehcache/impl/internal/store/tiering/TieredStore<TK;TV;>;Lorg/ehcache/core/spi/store/tiering/CachingTier$Provider;Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$Provider;)V
    MethodParameters:
                           Name  Flags
      store                      final
      cachingTierProvider        final
      authoritativeTierProvider  final

  public void releaseStore(org.ehcache.core.spi.store.Store<?, ?>);
    descriptor: (Lorg/ehcache/core/spi/store/Store;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
        start local 1 // org.ehcache.core.spi.store.Store resource
         0: .line 516
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.tiering.TieredStore$Provider.providersMap:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* resource */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         1: .line 517
            aload 2 /* entry */
            ifnonnull 3
         2: .line 518
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Given store is not managed by this provider : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* resource */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 520
      StackMap locals: java.util.Map$Entry
      StackMap stack:
            aload 1 /* resource */
            checkcast org.ehcache.impl.internal.store.tiering.TieredStore
            astore 3 /* tieredStore */
        start local 3 // org.ehcache.impl.internal.store.tiering.TieredStore tieredStore
         4: .line 523
            aload 3 /* tieredStore */
            getfield org.ehcache.impl.internal.store.tiering.TieredStore.authoritativeTier:Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier;
            new org.ehcache.impl.internal.store.tiering.TieredStore$Provider$1
            dup
            aload 0 /* this */
            invokespecial org.ehcache.impl.internal.store.tiering.TieredStore$Provider$1.<init>:(Lorg/ehcache/impl/internal/store/tiering/TieredStore$Provider;)V
            invokeinterface org.ehcache.core.spi.store.tiering.AuthoritativeTier.setInvalidationValve:(Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$InvalidationValve;)V
         5: .line 532
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.tiering.CachingTier$Provider
            aload 3 /* tieredStore */
            getfield org.ehcache.impl.internal.store.tiering.TieredStore.realCachingTier:Lorg/ehcache/core/spi/store/tiering/CachingTier;
            invokeinterface org.ehcache.core.spi.store.tiering.CachingTier$Provider.releaseCachingTier:(Lorg/ehcache/core/spi/store/tiering/CachingTier;)V
         6: .line 533
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider
            aload 3 /* tieredStore */
            getfield org.ehcache.impl.internal.store.tiering.TieredStore.authoritativeTier:Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier;
            invokeinterface org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider.releaseAuthoritativeTier:(Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier;)V
         7: .line 534
            return
        end local 3 // org.ehcache.impl.internal.store.tiering.TieredStore tieredStore
        end local 2 // java.util.Map$Entry entry
        end local 1 // org.ehcache.core.spi.store.Store resource
        end local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/ehcache/impl/internal/store/tiering/TieredStore$Provider;
            0    8     1     resource  Lorg/ehcache/core/spi/store/Store<**>;
            1    8     2        entry  Ljava/util/Map$Entry<Lorg/ehcache/core/spi/store/tiering/CachingTier$Provider;Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$Provider;>;
            4    8     3  tieredStore  Lorg/ehcache/impl/internal/store/tiering/TieredStore<**>;
    Signature: (Lorg/ehcache/core/spi/store/Store<**>;)V
    MethodParameters:
          Name  Flags
      resource  

  public void initStore(org.ehcache.core.spi.store.Store<?, ?>);
    descriptor: (Lorg/ehcache/core/spi/store/Store;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
        start local 1 // org.ehcache.core.spi.store.Store resource
         0: .line 538
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.tiering.TieredStore$Provider.providersMap:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* resource */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         1: .line 539
            aload 2 /* entry */
            ifnonnull 3
         2: .line 540
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Given store is not managed by this provider : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* resource */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 542
      StackMap locals: java.util.Map$Entry
      StackMap stack:
            aload 1 /* resource */
            checkcast org.ehcache.impl.internal.store.tiering.TieredStore
            astore 3 /* tieredStore */
        start local 3 // org.ehcache.impl.internal.store.tiering.TieredStore tieredStore
         4: .line 543
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.tiering.CachingTier$Provider
            aload 3 /* tieredStore */
            getfield org.ehcache.impl.internal.store.tiering.TieredStore.realCachingTier:Lorg/ehcache/core/spi/store/tiering/CachingTier;
            invokeinterface org.ehcache.core.spi.store.tiering.CachingTier$Provider.initCachingTier:(Lorg/ehcache/core/spi/store/tiering/CachingTier;)V
         5: .line 544
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider
            aload 3 /* tieredStore */
            getfield org.ehcache.impl.internal.store.tiering.TieredStore.authoritativeTier:Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier;
            invokeinterface org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider.initAuthoritativeTier:(Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier;)V
         6: .line 545
            return
        end local 3 // org.ehcache.impl.internal.store.tiering.TieredStore tieredStore
        end local 2 // java.util.Map$Entry entry
        end local 1 // org.ehcache.core.spi.store.Store resource
        end local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/ehcache/impl/internal/store/tiering/TieredStore$Provider;
            0    7     1     resource  Lorg/ehcache/core/spi/store/Store<**>;
            1    7     2        entry  Ljava/util/Map$Entry<Lorg/ehcache/core/spi/store/tiering/CachingTier$Provider;Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$Provider;>;
            4    7     3  tieredStore  Lorg/ehcache/impl/internal/store/tiering/TieredStore<**>;
    Signature: (Lorg/ehcache/core/spi/store/Store<**>;)V
    MethodParameters:
          Name  Flags
      resource  

  public void start(org.ehcache.spi.service.ServiceProvider<org.ehcache.spi.service.Service>);
    descriptor: (Lorg/ehcache/spi/service/ServiceProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
        start local 1 // org.ehcache.spi.service.ServiceProvider serviceProvider
         0: .line 549
            aload 0 /* this */
            aload 1 /* serviceProvider */
            putfield org.ehcache.impl.internal.store.tiering.TieredStore$Provider.serviceProvider:Lorg/ehcache/spi/service/ServiceProvider;
         1: .line 550
            return
        end local 1 // org.ehcache.spi.service.ServiceProvider serviceProvider
        end local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/ehcache/impl/internal/store/tiering/TieredStore$Provider;
            0    2     1  serviceProvider  Lorg/ehcache/spi/service/ServiceProvider<Lorg/ehcache/spi/service/Service;>;
    Signature: (Lorg/ehcache/spi/service/ServiceProvider<Lorg/ehcache/spi/service/Service;>;)V
    MethodParameters:
                 Name  Flags
      serviceProvider  

  public void stop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
         0: .line 554
            aload 0 /* this */
            aconst_null
            putfield org.ehcache.impl.internal.store.tiering.TieredStore$Provider.serviceProvider:Lorg/ehcache/spi/service/ServiceProvider;
         1: .line 555
            aload 0 /* this */
            getfield org.ehcache.impl.internal.store.tiering.TieredStore$Provider.providersMap:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
         2: .line 556
            return
        end local 0 // org.ehcache.impl.internal.store.tiering.TieredStore$Provider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/ehcache/impl/internal/store/tiering/TieredStore$Provider;
}
SourceFile: "TieredStore.java"
NestHost: org.ehcache.impl.internal.store.tiering.TieredStore
InnerClasses:
  public SimpleEntry = java.util.AbstractMap$SimpleEntry of java.util.AbstractMap
  public abstract Entry = java.util.Map$Entry of java.util.Map
  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 InvalidationValve = org.ehcache.core.spi.store.tiering.AuthoritativeTier$InvalidationValve of org.ehcache.core.spi.store.tiering.AuthoritativeTier
  public abstract Provider = org.ehcache.core.spi.store.tiering.AuthoritativeTier$Provider of org.ehcache.core.spi.store.tiering.AuthoritativeTier
  public abstract Provider = org.ehcache.core.spi.store.tiering.CachingTier$Provider of org.ehcache.core.spi.store.tiering.CachingTier
  public Provider = org.ehcache.impl.internal.store.tiering.TieredStore$Provider of org.ehcache.impl.internal.store.tiering.TieredStore
  org.ehcache.impl.internal.store.tiering.TieredStore$Provider$1
    RuntimeVisibleAnnotations: 
      org.ehcache.spi.service.ServiceDependencies(value = {Lorg/ehcache/core/spi/store/tiering/CachingTier$Provider;, Lorg/ehcache/core/spi/store/tiering/AuthoritativeTier$Provider;, Lorg/ehcache/core/spi/service/StatisticsService;})