final class io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp
  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 static final org.slf4j.Logger queryLog;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.slf4j.Logger beanLog;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.slf4j.Logger manyLog;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.slf4j.Logger natLog;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final io.ebeaninternal.server.deploy.BeanDescriptor<T> desc;
    descriptor: Lio/ebeaninternal/server/deploy/BeanDescriptor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebeaninternal/server/deploy/BeanDescriptor<TT;>;

  private final io.ebeaninternal.server.cache.SpiCacheManager cacheManager;
    descriptor: Lio/ebeaninternal/server/cache/SpiCacheManager;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.ebeaninternal.server.core.CacheOptions cacheOptions;
    descriptor: Lio/ebeaninternal/server/core/CacheOptions;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final java.lang.Class<?> beanType;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

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

  private final io.ebeaninternal.server.deploy.BeanPropertyAssocOne<?>[] propertiesOneImported;
    descriptor: [Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: [Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne<*>;

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

  private final io.ebean.cache.ServerCache beanCache;
    descriptor: Lio/ebean/cache/ServerCache;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.ebean.cache.ServerCache naturalKeyCache;
    descriptor: Lio/ebean/cache/ServerCache;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.ebean.cache.ServerCache queryCache;
    descriptor: Lio/ebean/cache/ServerCache;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final io.ebeaninternal.api.SpiCacheControl cacheControl;
    descriptor: Lio/ebeaninternal/api/SpiCacheControl;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.ebeaninternal.api.SpiCacheRegion cacheRegion;
    descriptor: Lio/ebeaninternal/api/SpiCacheRegion;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 45
            ldc Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.logger:Lorg/slf4j/Logger;
         1: .line 47
            ldc "io.ebean.cache.QUERY"
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/String;)Lorg/slf4j/Logger;
            putstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryLog:Lorg/slf4j/Logger;
         2: .line 48
            ldc "io.ebean.cache.BEAN"
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/String;)Lorg/slf4j/Logger;
            putstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
         3: .line 49
            ldc "io.ebean.cache.COLL"
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/String;)Lorg/slf4j/Logger;
            putstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.manyLog:Lorg/slf4j/Logger;
         4: .line 50
            ldc "io.ebean.cache.NATKEY"
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/String;)Lorg/slf4j/Logger;
            putstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.natLog:Lorg/slf4j/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(io.ebeaninternal.server.deploy.BeanDescriptor<T>, io.ebeaninternal.server.cache.SpiCacheManager, io.ebeaninternal.server.core.CacheOptions, boolean, io.ebeaninternal.server.deploy.BeanPropertyAssocOne<?>[]);
    descriptor: (Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebeaninternal/server/cache/SpiCacheManager;Lio/ebeaninternal/server/core/CacheOptions;Z[Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // io.ebeaninternal.server.deploy.BeanDescriptor desc
        start local 2 // io.ebeaninternal.server.cache.SpiCacheManager cacheManager
        start local 3 // io.ebeaninternal.server.core.CacheOptions cacheOptions
        start local 4 // boolean cacheSharableBeans
        start local 5 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne[] propertiesOneImported
         0: .line 90
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 93
            aload 0 /* this */
            aload 1 /* desc */
            putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
         2: .line 94
            aload 0 /* this */
            aload 1 /* desc */
            getfield io.ebeaninternal.server.deploy.BeanDescriptor.rootBeanType:Ljava/lang/Class;
            putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanType:Ljava/lang/Class;
         3: .line 95
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanType:Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
         4: .line 96
            aload 0 /* this */
            aload 2 /* cacheManager */
            putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheManager:Lio/ebeaninternal/server/cache/SpiCacheManager;
         5: .line 97
            aload 0 /* this */
            aload 3 /* cacheOptions */
            putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheOptions:Lio/ebeaninternal/server/core/CacheOptions;
         6: .line 98
            aload 0 /* this */
            aload 3 /* cacheOptions */
            invokevirtual io.ebeaninternal.server.core.CacheOptions.isInvalidateQueryCache:()Z
            putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.invalidateQueryCache:Z
         7: .line 99
            aload 0 /* this */
            iload 4 /* cacheSharableBeans */
            putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheSharableBeans:Z
         8: .line 100
            aload 0 /* this */
            aload 5 /* propertiesOneImported */
            putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.propertiesOneImported:[Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
         9: .line 101
            aload 0 /* this */
            aload 3 /* cacheOptions */
            invokevirtual io.ebeaninternal.server.core.CacheOptions.getNaturalKey:()[Ljava/lang/String;
            putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.naturalKey:[Ljava/lang/String;
        10: .line 103
            aload 3 /* cacheOptions */
            invokevirtual io.ebeaninternal.server.core.CacheOptions.isEnableQueryCache:()Z
            ifne 13
        11: .line 104
            aload 0 /* this */
            aconst_null
            putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryCache:Lio/ebean/cache/ServerCache;
        12: .line 105
            goto 14
        13: .line 106
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebeaninternal.server.deploy.BeanDescriptor io.ebeaninternal.server.cache.SpiCacheManager io.ebeaninternal.server.core.CacheOptions int io.ebeaninternal.server.deploy.BeanPropertyAssocOne[]
      StackMap stack:
            aload 0 /* this */
            aload 2 /* cacheManager */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanType:Ljava/lang/Class;
            invokeinterface io.ebeaninternal.server.cache.SpiCacheManager.getQueryCache:(Ljava/lang/Class;)Lio/ebean/cache/ServerCache;
            putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryCache:Lio/ebean/cache/ServerCache;
        14: .line 109
      StackMap locals:
      StackMap stack:
            aload 3 /* cacheOptions */
            invokevirtual io.ebeaninternal.server.core.CacheOptions.isEnableBeanCache:()Z
            ifeq 21
        15: .line 110
            aload 0 /* this */
            aload 2 /* cacheManager */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanType:Ljava/lang/Class;
            invokeinterface io.ebeaninternal.server.cache.SpiCacheManager.getBeanCache:(Ljava/lang/Class;)Lio/ebean/cache/ServerCache;
            putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCache:Lio/ebean/cache/ServerCache;
        16: .line 111
            aload 3 /* cacheOptions */
            invokevirtual io.ebeaninternal.server.core.CacheOptions.getNaturalKey:()[Ljava/lang/String;
            ifnull 19
        17: .line 112
            aload 0 /* this */
            aload 2 /* cacheManager */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanType:Ljava/lang/Class;
            invokeinterface io.ebeaninternal.server.cache.SpiCacheManager.getNaturalKeyCache:(Ljava/lang/Class;)Lio/ebean/cache/ServerCache;
            putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.naturalKeyCache:Lio/ebean/cache/ServerCache;
        18: .line 113
            goto 23
        19: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.naturalKeyCache:Lio/ebean/cache/ServerCache;
        20: .line 116
            goto 23
        21: .line 117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCache:Lio/ebean/cache/ServerCache;
        22: .line 118
            aload 0 /* this */
            aconst_null
            putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.naturalKeyCache:Lio/ebean/cache/ServerCache;
        23: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCache:Lio/ebean/cache/ServerCache;
            ifnonnull 24
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryCache:Lio/ebean/cache/ServerCache;
            ifnonnull 24
            iconst_1
            goto 25
      StackMap locals:
      StackMap stack: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp
        24: iconst_0
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebeaninternal.server.deploy.BeanDescriptor io.ebeaninternal.server.cache.SpiCacheManager io.ebeaninternal.server.core.CacheOptions int io.ebeaninternal.server.deploy.BeanPropertyAssocOne[]
      StackMap stack: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp int
        25: putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.noCaching:Z
        26: .line 121
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.noCaching:Z
            ifeq 32
        27: .line 122
            aload 0 /* this */
            getstatic io.ebeaninternal.server.deploy.DCacheControlNone.INSTANCE:Lio/ebeaninternal/api/SpiCacheControl;
            putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheControl:Lio/ebeaninternal/api/SpiCacheControl;
        28: .line 123
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.invalidateQueryCache:Z
            ifeq 29
            aload 2 /* cacheManager */
            aload 3 /* cacheOptions */
            invokevirtual io.ebeaninternal.server.core.CacheOptions.getRegion:()Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.cache.SpiCacheManager.getRegion:(Ljava/lang/String;)Lio/ebeaninternal/api/SpiCacheRegion;
            goto 30
      StackMap locals:
      StackMap stack: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp
        29: getstatic io.ebeaninternal.server.deploy.DCacheRegionNone.INSTANCE:Lio/ebeaninternal/api/SpiCacheRegion;
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebeaninternal.server.deploy.BeanDescriptor io.ebeaninternal.server.cache.SpiCacheManager io.ebeaninternal.server.core.CacheOptions int io.ebeaninternal.server.deploy.BeanPropertyAssocOne[]
      StackMap stack: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebeaninternal.api.SpiCacheRegion
        30: putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheRegion:Lio/ebeaninternal/api/SpiCacheRegion;
        31: .line 124
            goto 41
        32: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* cacheManager */
            aload 3 /* cacheOptions */
            invokevirtual io.ebeaninternal.server.core.CacheOptions.getRegion:()Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.cache.SpiCacheManager.getRegion:(Ljava/lang/String;)Lio/ebeaninternal/api/SpiCacheRegion;
            putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheRegion:Lio/ebeaninternal/api/SpiCacheRegion;
        33: .line 126
            aload 0 /* this */
        34: new io.ebeaninternal.server.deploy.DCacheControl
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheRegion:Lio/ebeaninternal/api/SpiCacheRegion;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCache:Lio/ebean/cache/ServerCache;
            ifnull 35
            iconst_1
            goto 36
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebeaninternal.server.deploy.BeanDescriptor io.ebeaninternal.server.cache.SpiCacheManager io.ebeaninternal.server.core.CacheOptions int io.ebeaninternal.server.deploy.BeanPropertyAssocOne[]
      StackMap stack: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp new 34 new 34 io.ebeaninternal.api.SpiCacheRegion
        35: iconst_0
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebeaninternal.server.deploy.BeanDescriptor io.ebeaninternal.server.cache.SpiCacheManager io.ebeaninternal.server.core.CacheOptions int io.ebeaninternal.server.deploy.BeanPropertyAssocOne[]
      StackMap stack: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp new 34 new 34 io.ebeaninternal.api.SpiCacheRegion int
        36: aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.naturalKeyCache:Lio/ebean/cache/ServerCache;
            ifnull 37
            iconst_1
            goto 38
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebeaninternal.server.deploy.BeanDescriptor io.ebeaninternal.server.cache.SpiCacheManager io.ebeaninternal.server.core.CacheOptions int io.ebeaninternal.server.deploy.BeanPropertyAssocOne[]
      StackMap stack: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp new 34 new 34 io.ebeaninternal.api.SpiCacheRegion int
        37: iconst_0
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebeaninternal.server.deploy.BeanDescriptor io.ebeaninternal.server.cache.SpiCacheManager io.ebeaninternal.server.core.CacheOptions int io.ebeaninternal.server.deploy.BeanPropertyAssocOne[]
      StackMap stack: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp new 34 new 34 io.ebeaninternal.api.SpiCacheRegion int int
        38: aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryCache:Lio/ebean/cache/ServerCache;
            ifnull 39
            iconst_1
            goto 40
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebeaninternal.server.deploy.BeanDescriptor io.ebeaninternal.server.cache.SpiCacheManager io.ebeaninternal.server.core.CacheOptions int io.ebeaninternal.server.deploy.BeanPropertyAssocOne[]
      StackMap stack: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp new 34 new 34 io.ebeaninternal.api.SpiCacheRegion int int
        39: iconst_0
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebeaninternal.server.deploy.BeanDescriptor io.ebeaninternal.server.cache.SpiCacheManager io.ebeaninternal.server.core.CacheOptions int io.ebeaninternal.server.deploy.BeanPropertyAssocOne[]
      StackMap stack: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp new 34 new 34 io.ebeaninternal.api.SpiCacheRegion int int int
        40: invokespecial io.ebeaninternal.server.deploy.DCacheControl.<init>:(Lio/ebeaninternal/api/SpiCacheRegion;ZZZ)V
            putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheControl:Lio/ebeaninternal/api/SpiCacheControl;
        41: .line 128
      StackMap locals:
      StackMap stack:
            return
        end local 5 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne[] propertiesOneImported
        end local 4 // boolean cacheSharableBeans
        end local 3 // io.ebeaninternal.server.core.CacheOptions cacheOptions
        end local 2 // io.ebeaninternal.server.cache.SpiCacheManager cacheManager
        end local 1 // io.ebeaninternal.server.deploy.BeanDescriptor desc
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   42     0                   this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0   42     1                   desc  Lio/ebeaninternal/server/deploy/BeanDescriptor<TT;>;
            0   42     2           cacheManager  Lio/ebeaninternal/server/cache/SpiCacheManager;
            0   42     3           cacheOptions  Lio/ebeaninternal/server/core/CacheOptions;
            0   42     4     cacheSharableBeans  Z
            0   42     5  propertiesOneImported  [Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
    Signature: (Lio/ebeaninternal/server/deploy/BeanDescriptor<TT;>;Lio/ebeaninternal/server/cache/SpiCacheManager;Lio/ebeaninternal/server/core/CacheOptions;Z[Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne<*>;)V
    MethodParameters:
                       Name  Flags
      desc                   
      cacheManager           
      cacheOptions           
      cacheSharableBeans     
      propertiesOneImported  

  void deriveNotifyFlags();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
         0: .line 134
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.invalidateQueryCache:Z
            ifne 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCache:Lio/ebean/cache/ServerCache;
            ifnonnull 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryCache:Lio/ebean/cache/ServerCache;
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp
         1: iconst_1
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp
      StackMap stack: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp int
         2: putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheNotifyOnAll:Z
         3: .line 135
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheNotifyOnAll:Z
            ifne 4
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.isNotifyOnDeletes:()Z
            ifeq 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp
         4: iconst_0
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp
      StackMap stack: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp int
         5: putfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheNotifyOnDelete:Z
         6: .line 137
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.logger:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 14
         7: .line 138
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheNotifyOnAll:Z
            ifne 8
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheNotifyOnDelete:Z
            ifeq 14
         8: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheNotifyOnAll:Z
            ifeq 9
            ldc "All"
            goto 10
      StackMap locals:
      StackMap stack:
         9: ldc "Delete"
      StackMap locals:
      StackMap stack: java.lang.String
        10: astore 1 /* notifyMode */
        start local 1 // java.lang.String notifyMode
        11: .line 140
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.logger:Lorg/slf4j/Logger;
            ldc "l2 caching on {} - beanCaching:{} queryCaching:{} notifyMode:{} "
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        12: .line 141
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getFullName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.isBeanCaching:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.isQueryCaching:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_3
            aload 1 /* notifyMode */
            aastore
        13: .line 140
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 1 // java.lang.String notifyMode
        14: .line 144
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
           11   14     1  notifyMode  Ljava/lang/String;

  private boolean isNotifyOnDeletes();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
         0: .line 151
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.propertiesOneImported:[Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp top int int io.ebeaninternal.server.deploy.BeanPropertyAssocOne[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* imported */
        start local 1 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne imported
         2: .line 152
            aload 1 /* imported */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocOne.isCacheNotifyRelationship:()Z
            ifeq 4
         3: .line 153
            iconst_1
            ireturn
        end local 1 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne imported
         4: .line 151
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 156
            iconst_0
            ireturn
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            2    4     1  imported  Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne<*>;

  boolean isCacheNotify(io.ebeaninternal.server.core.PersistRequest$Type);
    descriptor: (Lio/ebeaninternal/server/core/PersistRequest$Type;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // io.ebeaninternal.server.core.PersistRequest$Type type
         0: .line 163
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheRegion:Lio/ebeaninternal/api/SpiCacheRegion;
            invokeinterface io.ebeaninternal.api.SpiCacheRegion.isEnabled:()Z
            ifeq 3
         1: .line 164
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheNotifyOnAll:Z
            ifne 2
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheNotifyOnDelete:Z
            ifeq 3
            aload 1 /* type */
            getstatic io.ebeaninternal.server.core.PersistRequest$Type.DELETE:Lio/ebeaninternal/server/core/PersistRequest$Type;
            if_acmpeq 2
            aload 1 /* type */
            getstatic io.ebeaninternal.server.core.PersistRequest$Type.DELETE_PERMANENT:Lio/ebeaninternal/server/core/PersistRequest$Type;
            if_acmpne 3
         2: .line 163
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // io.ebeaninternal.server.core.PersistRequest$Type type
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    4     1  type  Lio/ebeaninternal/server/core/PersistRequest$Type;
    MethodParameters:
      Name  Flags
      type  

  boolean isQueryCaching();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
         0: .line 171
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheControl:Lio/ebeaninternal/api/SpiCacheControl;
            invokeinterface io.ebeaninternal.api.SpiCacheControl.isQueryCaching:()Z
            ireturn
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;

  boolean isBeanCaching();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
         0: .line 178
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheControl:Lio/ebeaninternal/api/SpiCacheControl;
            invokeinterface io.ebeaninternal.api.SpiCacheControl.isBeanCaching:()Z
            ireturn
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;

  boolean isNaturalKeyCaching();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
         0: .line 185
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheControl:Lio/ebeaninternal/api/SpiCacheControl;
            invokeinterface io.ebeaninternal.api.SpiCacheControl.isNaturalKeyCaching:()Z
            ireturn
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;

  boolean isCaching();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
         0: .line 192
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheControl:Lio/ebeaninternal/api/SpiCacheControl;
            invokeinterface io.ebeaninternal.api.SpiCacheControl.isCaching:()Z
            ireturn
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;

  java.lang.String[] getNaturalKey();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
         0: .line 199
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.naturalKey:[Ljava/lang/String;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;

  io.ebeaninternal.server.core.CacheOptions getCacheOptions();
    descriptor: ()Lio/ebeaninternal/server/core/CacheOptions;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
         0: .line 203
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheOptions:Lio/ebeaninternal/server/core/CacheOptions;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;

  void queryCacheClear();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
         0: .line 210
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryCache:Lio/ebean/cache/ServerCache;
            ifnull 4
         1: .line 211
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 3
         2: .line 212
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryLog:Lorg/slf4j/Logger;
            ldc "   CLEAR {}"
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryCache:Lio/ebean/cache/ServerCache;
            invokeinterface io.ebean.cache.ServerCache.clear:()V
         4: .line 216
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;

  private void queryCacheClear(io.ebeaninternal.server.cache.CacheChangeSet);
    descriptor: (Lio/ebeaninternal/server/cache/CacheChangeSet;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // io.ebeaninternal.server.cache.CacheChangeSet changeSet
         0: .line 222
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryCache:Lio/ebean/cache/ServerCache;
            ifnull 2
         1: .line 223
            aload 1 /* changeSet */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.cache.CacheChangeSet.addClearQuery:(Lio/ebeaninternal/server/deploy/BeanDescriptor;)V
         2: .line 225
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.ebeaninternal.server.cache.CacheChangeSet changeSet
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    3     1  changeSet  Lio/ebeaninternal/server/cache/CacheChangeSet;
    MethodParameters:
           Name  Flags
      changeSet  

  java.lang.Object queryCacheGet(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.lang.Object id
         0: .line 231
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryCache:Lio/ebean/cache/ServerCache;
            ifnonnull 2
         1: .line 232
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No query cache enabled on "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ". Need explicit @Cache(enableQueryCache=true)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryCache:Lio/ebean/cache/ServerCache;
            aload 1 /* id */
            invokeinterface io.ebean.cache.ServerCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* queryResult */
        start local 2 // java.lang.Object queryResult
         3: .line 235
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 8
         4: .line 236
            aload 2 /* queryResult */
            ifnonnull 7
         5: .line 237
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryLog:Lorg/slf4j/Logger;
            ldc "   GET {}({}) - cache miss"
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aload 1 /* id */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 238
            goto 8
         7: .line 239
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryLog:Lorg/slf4j/Logger;
            ldc "   GET {}({}) - hit"
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aload 1 /* id */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 242
      StackMap locals:
      StackMap stack:
            aload 2 /* queryResult */
            areturn
        end local 2 // java.lang.Object queryResult
        end local 1 // java.lang.Object id
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    9     1           id  Ljava/lang/Object;
            3    9     2  queryResult  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      id    

  void queryCachePut(java.lang.Object, io.ebean.cache.QueryCacheEntry);
    descriptor: (Ljava/lang/Object;Lio/ebean/cache/QueryCacheEntry;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.lang.Object id
        start local 2 // io.ebean.cache.QueryCacheEntry entry
         0: .line 249
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryCache:Lio/ebean/cache/ServerCache;
            ifnonnull 2
         1: .line 250
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No query cache enabled on "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ". Need explicit @Cache(enableQueryCache=true)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 252
      StackMap locals:
      StackMap stack:
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 4
         3: .line 253
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryLog:Lorg/slf4j/Logger;
            ldc "   PUT {}({})"
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aload 1 /* id */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryCache:Lio/ebean/cache/ServerCache;
            aload 1 /* id */
            aload 2 /* entry */
            invokeinterface io.ebean.cache.ServerCache.put:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 256
            return
        end local 2 // io.ebean.cache.QueryCacheEntry entry
        end local 1 // java.lang.Object id
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    6     1     id  Ljava/lang/Object;
            0    6     2  entry  Lio/ebean/cache/QueryCacheEntry;
    MethodParameters:
       Name  Flags
      id     
      entry  

  void manyPropRemove(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.lang.String propertyName
        start local 2 // java.lang.Object parentId
         0: .line 260
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheManager:Lio/ebeaninternal/server/cache/SpiCacheManager;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanType:Ljava/lang/Class;
            aload 1 /* propertyName */
            invokeinterface io.ebeaninternal.server.cache.SpiCacheManager.getCollectionIdsCache:(Ljava/lang/Class;Ljava/lang/String;)Lio/ebean/cache/ServerCache;
            astore 3 /* collectionIdsCache */
        start local 3 // io.ebean.cache.ServerCache collectionIdsCache
         1: .line 261
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.manyLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 3
         2: .line 262
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.manyLog:Lorg/slf4j/Logger;
            ldc "   REMOVE {}({}).{}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* parentId */
            aastore
            dup
            iconst_2
            aload 1 /* propertyName */
            aastore
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 264
      StackMap locals: io.ebean.cache.ServerCache
      StackMap stack:
            aload 3 /* collectionIdsCache */
            aload 2 /* parentId */
            invokeinterface io.ebean.cache.ServerCache.remove:(Ljava/lang/Object;)V
         4: .line 265
            return
        end local 3 // io.ebean.cache.ServerCache collectionIdsCache
        end local 2 // java.lang.Object parentId
        end local 1 // java.lang.String propertyName
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    5     1        propertyName  Ljava/lang/String;
            0    5     2            parentId  Ljava/lang/Object;
            1    5     3  collectionIdsCache  Lio/ebean/cache/ServerCache;
    MethodParameters:
              Name  Flags
      propertyName  
      parentId      

  void manyPropClear(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.lang.String propertyName
         0: .line 268
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheManager:Lio/ebeaninternal/server/cache/SpiCacheManager;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanType:Ljava/lang/Class;
            aload 1 /* propertyName */
            invokeinterface io.ebeaninternal.server.cache.SpiCacheManager.getCollectionIdsCache:(Ljava/lang/Class;Ljava/lang/String;)Lio/ebean/cache/ServerCache;
            astore 2 /* collectionIdsCache */
        start local 2 // io.ebean.cache.ServerCache collectionIdsCache
         1: .line 269
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.manyLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 3
         2: .line 270
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.manyLog:Lorg/slf4j/Logger;
            ldc "   CLEAR {}(*).{} "
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aload 1 /* propertyName */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 272
      StackMap locals: io.ebean.cache.ServerCache
      StackMap stack:
            aload 2 /* collectionIdsCache */
            invokeinterface io.ebean.cache.ServerCache.clear:()V
         4: .line 273
            return
        end local 2 // io.ebean.cache.ServerCache collectionIdsCache
        end local 1 // java.lang.String propertyName
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    5     1        propertyName  Ljava/lang/String;
            1    5     2  collectionIdsCache  Lio/ebean/cache/ServerCache;
    MethodParameters:
              Name  Flags
      propertyName  

  private io.ebeaninternal.server.cache.CachedManyIds manyPropGet(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Lio/ebeaninternal/server/cache/CachedManyIds;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.lang.Object parentId
        start local 2 // java.lang.String propertyName
         0: .line 279
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheManager:Lio/ebeaninternal/server/cache/SpiCacheManager;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanType:Ljava/lang/Class;
            aload 2 /* propertyName */
            invokeinterface io.ebeaninternal.server.cache.SpiCacheManager.getCollectionIdsCache:(Ljava/lang/Class;Ljava/lang/String;)Lio/ebean/cache/ServerCache;
            astore 3 /* collectionIdsCache */
        start local 3 // io.ebean.cache.ServerCache collectionIdsCache
         1: .line 280
            aload 3 /* collectionIdsCache */
            aload 1 /* parentId */
            invokeinterface io.ebean.cache.ServerCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebeaninternal.server.cache.CachedManyIds
            astore 4 /* entry */
        start local 4 // io.ebeaninternal.server.cache.CachedManyIds entry
         2: .line 281
            aload 4 /* entry */
            ifnonnull 6
         3: .line 282
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.manyLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 8
         4: .line 283
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.manyLog:Lorg/slf4j/Logger;
            ldc "   GET {}({}).{} - cache miss"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* parentId */
            aastore
            dup
            iconst_2
            aload 2 /* propertyName */
            aastore
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
         5: .line 285
            goto 8
      StackMap locals: io.ebean.cache.ServerCache io.ebeaninternal.server.cache.CachedManyIds
      StackMap stack:
         6: getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.manyLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 8
         7: .line 286
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.manyLog:Lorg/slf4j/Logger;
            ldc "   GET {}({}).{} - hit"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* parentId */
            aastore
            dup
            iconst_2
            aload 2 /* propertyName */
            aastore
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 288
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            areturn
        end local 4 // io.ebeaninternal.server.cache.CachedManyIds entry
        end local 3 // io.ebean.cache.ServerCache collectionIdsCache
        end local 2 // java.lang.String propertyName
        end local 1 // java.lang.Object parentId
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    9     0                this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    9     1            parentId  Ljava/lang/Object;
            0    9     2        propertyName  Ljava/lang/String;
            1    9     3  collectionIdsCache  Lio/ebean/cache/ServerCache;
            2    9     4               entry  Lio/ebeaninternal/server/cache/CachedManyIds;
    MethodParameters:
              Name  Flags
      parentId      
      propertyName  

  boolean manyPropLoad(io.ebeaninternal.server.deploy.BeanPropertyAssocMany<?>, io.ebean.bean.BeanCollection<?>, , java.lang.Boolean);
    descriptor: (Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;Lio/ebean/bean/BeanCollection;Ljava/lang/Object;Ljava/lang/Boolean;)Z
    flags: (0x0000) 
    Code:
      stack=5, locals=14, args_size=5
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany many
        start local 2 // io.ebean.bean.BeanCollection bc
        start local 3 // java.lang.Object parentId
        start local 4 // java.lang.Boolean readOnly
         0: .line 296
            aload 1 /* many */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.isElementCollection:()Z
            ifeq 2
         1: .line 298
            iconst_0
            ireturn
         2: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* parentId */
            aload 1 /* many */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getName:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.manyPropGet:(Ljava/lang/Object;Ljava/lang/String;)Lio/ebeaninternal/server/cache/CachedManyIds;
            astore 5 /* entry */
        start local 5 // io.ebeaninternal.server.cache.CachedManyIds entry
         3: .line 302
            aload 5 /* entry */
            ifnonnull 5
         4: .line 304
            iconst_0
            ireturn
         5: .line 307
      StackMap locals: io.ebeaninternal.server.cache.CachedManyIds
      StackMap stack:
            aload 2 /* bc */
            invokeinterface io.ebean.bean.BeanCollection.getOwnerBean:()Lio/ebean/bean/EntityBean;
            astore 6 /* ownerBean */
        start local 6 // io.ebean.bean.EntityBean ownerBean
         6: .line 308
            aload 6 /* ownerBean */
            invokeinterface io.ebean.bean.EntityBean._ebean_getIntercept:()Lio/ebean/bean/EntityBeanIntercept;
            astore 7 /* ebi */
        start local 7 // io.ebean.bean.EntityBeanIntercept ebi
         7: .line 309
            aload 7 /* ebi */
            invokevirtual io.ebean.bean.EntityBeanIntercept.getPersistenceContext:()Lio/ebean/bean/PersistenceContext;
            astore 8 /* persistenceContext */
        start local 8 // io.ebean.bean.PersistenceContext persistenceContext
         8: .line 311
            aload 1 /* many */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getTargetDescriptor:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
            astore 9 /* targetDescriptor */
        start local 9 // io.ebeaninternal.server.deploy.BeanDescriptor targetDescriptor
         9: .line 313
            aload 5 /* entry */
            invokevirtual io.ebeaninternal.server.cache.CachedManyIds.getIdList:()Ljava/util/List;
            astore 10 /* idList */
        start local 10 // java.util.List idList
        10: .line 314
            aload 2 /* bc */
            invokeinterface io.ebean.bean.BeanCollection.checkEmptyLazyLoad:()Z
            pop
        11: .line 315
            aload 10 /* idList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 15
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebean.bean.BeanCollection java.lang.Object java.lang.Boolean io.ebeaninternal.server.cache.CachedManyIds io.ebean.bean.EntityBean io.ebean.bean.EntityBeanIntercept io.ebean.bean.PersistenceContext io.ebeaninternal.server.deploy.BeanDescriptor java.util.List top java.util.Iterator
      StackMap stack:
        12: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 11 /* id */
        start local 11 // java.lang.Object id
        13: .line 316
            aload 9 /* targetDescriptor */
            aload 4 /* readOnly */
            iconst_0
            aload 11 /* id */
            aload 8 /* persistenceContext */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.createReference:(Ljava/lang/Boolean;ZLjava/lang/Object;Lio/ebean/bean/PersistenceContext;)Ljava/lang/Object;
            astore 13 /* refBean */
        start local 13 // java.lang.Object refBean
        14: .line 317
            aload 1 /* many */
            aload 2 /* bc */
            aload 13 /* refBean */
            checkcast io.ebean.bean.EntityBean
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.add:(Lio/ebean/bean/BeanCollection;Lio/ebean/bean/EntityBean;)V
        end local 13 // java.lang.Object refBean
        end local 11 // java.lang.Object id
        15: .line 315
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        16: .line 319
            iconst_1
            ireturn
        end local 10 // java.util.List idList
        end local 9 // io.ebeaninternal.server.deploy.BeanDescriptor targetDescriptor
        end local 8 // io.ebean.bean.PersistenceContext persistenceContext
        end local 7 // io.ebean.bean.EntityBeanIntercept ebi
        end local 6 // io.ebean.bean.EntityBean ownerBean
        end local 5 // io.ebeaninternal.server.cache.CachedManyIds entry
        end local 4 // java.lang.Boolean readOnly
        end local 3 // java.lang.Object parentId
        end local 2 // io.ebean.bean.BeanCollection bc
        end local 1 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany many
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   17     0                this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0   17     1                many  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<*>;
            0   17     2                  bc  Lio/ebean/bean/BeanCollection<*>;
            0   17     3            parentId  Ljava/lang/Object;
            0   17     4            readOnly  Ljava/lang/Boolean;
            3   17     5               entry  Lio/ebeaninternal/server/cache/CachedManyIds;
            6   17     6           ownerBean  Lio/ebean/bean/EntityBean;
            7   17     7                 ebi  Lio/ebean/bean/EntityBeanIntercept;
            8   17     8  persistenceContext  Lio/ebean/bean/PersistenceContext;
            9   17     9    targetDescriptor  Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
           10   17    10              idList  Ljava/util/List<Ljava/lang/Object;>;
           13   15    11                  id  Ljava/lang/Object;
           14   15    13             refBean  Ljava/lang/Object;
    Signature: (Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<*>;Lio/ebean/bean/BeanCollection<*>;Ljava/lang/Object;Ljava/lang/Boolean;)Z
    MethodParameters:
          Name  Flags
      many      
      bc        
      parentId  
      readOnly  

  void manyPropPut(io.ebeaninternal.server.deploy.BeanPropertyAssocMany<?>, , );
    descriptor: (Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany many
        start local 2 // java.lang.Object details
        start local 3 // java.lang.Object parentId
         0: .line 327
            aload 1 /* many */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.isElementCollection:()Z
            ifeq 14
         1: .line 328
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCache:Lio/ebean/cache/ServerCache;
            aload 3 /* parentId */
            invokeinterface io.ebean.cache.ServerCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebeaninternal.server.cache.CachedBeanData
            astore 4 /* data */
        start local 4 // io.ebeaninternal.server.cache.CachedBeanData data
         2: .line 329
            aload 4 /* data */
            ifnull 17
         3: .line 332
            aload 1 /* many */
            aload 2 /* details */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.jsonWriteCollection:(Ljava/lang/Object;)Ljava/lang/String;
            astore 5 /* asJson */
        start local 5 // java.lang.String asJson
         4: .line 333
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 6 /* changes */
        start local 6 // java.util.Map changes
         5: .line 334
            aload 6 /* changes */
            aload 1 /* many */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getName:()Ljava/lang/String;
            aload 5 /* asJson */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 336
            aload 4 /* data */
            aload 6 /* changes */
            aload 4 /* data */
            invokevirtual io.ebeaninternal.server.cache.CachedBeanData.getVersion:()J
            invokevirtual io.ebeaninternal.server.cache.CachedBeanData.update:(Ljava/util/Map;J)Lio/ebeaninternal/server/cache/CachedBeanData;
            astore 7 /* newData */
        start local 7 // io.ebeaninternal.server.cache.CachedBeanData newData
         7: .line 337
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 9
         8: .line 338
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            ldc "   UPDATE {}({})  changes:{}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 3 /* parentId */
            aastore
            dup
            iconst_2
            aload 6 /* changes */
            aastore
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 340
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebeaninternal.server.deploy.BeanPropertyAssocMany java.lang.Object java.lang.Object io.ebeaninternal.server.cache.CachedBeanData java.lang.String java.util.Map io.ebeaninternal.server.cache.CachedBeanData
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCache:Lio/ebean/cache/ServerCache;
            aload 3 /* parentId */
            aload 7 /* newData */
            invokeinterface io.ebean.cache.ServerCache.put:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 7 // io.ebeaninternal.server.cache.CachedBeanData newData
        end local 6 // java.util.Map changes
        end local 5 // java.lang.String asJson
        10: .line 341
            goto 17
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebeaninternal.server.deploy.BeanPropertyAssocMany java.lang.Object java.lang.Object io.ebeaninternal.server.cache.CachedBeanData
      StackMap stack: java.io.IOException
        11: astore 5 /* e */
        start local 5 // java.io.IOException e
        12: .line 342
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.logger:Lorg/slf4j/Logger;
            ldc "Error updating L2 cache"
            aload 5 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 5 // java.io.IOException e
        end local 4 // io.ebeaninternal.server.cache.CachedBeanData data
        13: .line 345
            goto 17
        14: .line 346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* many */
            aload 2 /* details */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.createManyIds:(Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;Ljava/lang/Object;)Lio/ebeaninternal/server/cache/CachedManyIds;
            astore 4 /* entry */
        start local 4 // io.ebeaninternal.server.cache.CachedManyIds entry
        15: .line 347
            aload 4 /* entry */
            ifnull 17
        16: .line 348
            aload 0 /* this */
            aload 3 /* parentId */
            aload 1 /* many */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getName:()Ljava/lang/String;
            aload 4 /* entry */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cachePutManyIds:(Ljava/lang/Object;Ljava/lang/String;Lio/ebeaninternal/server/cache/CachedManyIds;)V
        end local 4 // io.ebeaninternal.server.cache.CachedManyIds entry
        17: .line 351
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Object parentId
        end local 2 // java.lang.Object details
        end local 1 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany many
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0   18     1      many  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<*>;
            0   18     2   details  Ljava/lang/Object;
            0   18     3  parentId  Ljava/lang/Object;
            2   13     4      data  Lio/ebeaninternal/server/cache/CachedBeanData;
            4   10     5    asJson  Ljava/lang/String;
            5   10     6   changes  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            7   10     7   newData  Lio/ebeaninternal/server/cache/CachedBeanData;
           12   13     5         e  Ljava/io/IOException;
           15   17     4     entry  Lio/ebeaninternal/server/cache/CachedManyIds;
      Exception table:
        from    to  target  type
           3    10      11  Class java.io.IOException
    Signature: (Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<*>;Ljava/lang/Object;Ljava/lang/Object;)V
    MethodParameters:
          Name  Flags
      many      
      details   
      parentId  

  void cachePutManyIds(java.lang.Object, java.lang.String, io.ebeaninternal.server.cache.CachedManyIds);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Lio/ebeaninternal/server/cache/CachedManyIds;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.lang.Object parentId
        start local 2 // java.lang.String manyName
        start local 3 // io.ebeaninternal.server.cache.CachedManyIds entry
         0: .line 355
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheManager:Lio/ebeaninternal/server/cache/SpiCacheManager;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanType:Ljava/lang/Class;
            aload 2 /* manyName */
            invokeinterface io.ebeaninternal.server.cache.SpiCacheManager.getCollectionIdsCache:(Ljava/lang/Class;Ljava/lang/String;)Lio/ebean/cache/ServerCache;
            astore 4 /* collectionIdsCache */
        start local 4 // io.ebean.cache.ServerCache collectionIdsCache
         1: .line 356
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.manyLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 3
         2: .line 357
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.manyLog:Lorg/slf4j/Logger;
            ldc "   PUT {}({}).{} - ids:{}"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* parentId */
            aastore
            dup
            iconst_2
            aload 2 /* manyName */
            aastore
            dup
            iconst_3
            aload 3 /* entry */
            aastore
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 359
      StackMap locals: io.ebean.cache.ServerCache
      StackMap stack:
            aload 4 /* collectionIdsCache */
            aload 1 /* parentId */
            aload 3 /* entry */
            invokeinterface io.ebean.cache.ServerCache.put:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 360
            return
        end local 4 // io.ebean.cache.ServerCache collectionIdsCache
        end local 3 // io.ebeaninternal.server.cache.CachedManyIds entry
        end local 2 // java.lang.String manyName
        end local 1 // java.lang.Object parentId
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    5     1            parentId  Ljava/lang/Object;
            0    5     2            manyName  Ljava/lang/String;
            0    5     3               entry  Lio/ebeaninternal/server/cache/CachedManyIds;
            1    5     4  collectionIdsCache  Lio/ebean/cache/ServerCache;
    MethodParameters:
          Name  Flags
      parentId  
      manyName  
      entry     

  private io.ebeaninternal.server.cache.CachedManyIds createManyIds(io.ebeaninternal.server.deploy.BeanPropertyAssocMany<?>, );
    descriptor: (Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;Ljava/lang/Object;)Lio/ebeaninternal/server/cache/CachedManyIds;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany many
        start local 2 // java.lang.Object details
         0: .line 364
            aload 2 /* details */
            invokestatic io.ebeaninternal.server.deploy.BeanCollectionUtil.getActualDetails:(Ljava/lang/Object;)Ljava/util/Collection;
            astore 3 /* actualDetails */
        start local 3 // java.util.Collection actualDetails
         1: .line 365
            aload 3 /* actualDetails */
            ifnonnull 3
         2: .line 366
            aconst_null
            areturn
         3: .line 369
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 1 /* many */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getTargetDescriptor:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
            astore 4 /* targetDescriptor */
        start local 4 // io.ebeaninternal.server.deploy.BeanDescriptor targetDescriptor
         4: .line 370
            new java.util.ArrayList
            dup
            aload 3 /* actualDetails */
            invokeinterface java.util.Collection.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* idList */
        start local 5 // java.util.List idList
         5: .line 371
            aload 3 /* actualDetails */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 8
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebeaninternal.server.deploy.BeanPropertyAssocMany java.lang.Object java.util.Collection io.ebeaninternal.server.deploy.BeanDescriptor java.util.List top java.util.Iterator
      StackMap stack:
         6: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 6 /* bean */
        start local 6 // java.lang.Object bean
         7: .line 372
            aload 5 /* idList */
            aload 4 /* targetDescriptor */
            aload 6 /* bean */
            checkcast io.ebean.bean.EntityBean
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getId:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.Object bean
         8: .line 371
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 374
            new io.ebeaninternal.server.cache.CachedManyIds
            dup
            aload 5 /* idList */
            invokespecial io.ebeaninternal.server.cache.CachedManyIds.<init>:(Ljava/util/List;)V
            areturn
        end local 5 // java.util.List idList
        end local 4 // io.ebeaninternal.server.deploy.BeanDescriptor targetDescriptor
        end local 3 // java.util.Collection actualDetails
        end local 2 // java.lang.Object details
        end local 1 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany many
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0   10     1              many  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<*>;
            0   10     2           details  Ljava/lang/Object;
            1   10     3     actualDetails  Ljava/util/Collection<*>;
            4   10     4  targetDescriptor  Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
            5   10     5            idList  Ljava/util/List<Ljava/lang/Object;>;
            7    8     6              bean  Ljava/lang/Object;
    Signature: (Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<*>;Ljava/lang/Object;)Lio/ebeaninternal/server/cache/CachedManyIds;
    MethodParameters:
         Name  Flags
      many     
      details  

  io.ebeaninternal.api.BeanCacheResult<T> cacheIdLookup(io.ebean.bean.PersistenceContext, java.util.Collection<?>);
    descriptor: (Lio/ebean/bean/PersistenceContext;Ljava/util/Collection;)Lio/ebeaninternal/api/BeanCacheResult;
    flags: (0x0000) 
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // io.ebean.bean.PersistenceContext context
        start local 2 // java.util.Collection ids
         0: .line 382
            new java.util.HashSet
            dup
            aload 2 /* ids */
            invokeinterface java.util.Collection.size:()I
            invokespecial java.util.HashSet.<init>:(I)V
            astore 3 /* keys */
        start local 3 // java.util.Set keys
         1: .line 383
            aload 2 /* ids */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 4
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebean.bean.PersistenceContext java.util.Collection java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* id */
        start local 4 // java.lang.Object id
         3: .line 384
            aload 3 /* keys */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 4 /* id */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.cacheKey:(Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Object id
         4: .line 383
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 387
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCache:Lio/ebean/cache/ServerCache;
            aload 3 /* keys */
            invokeinterface io.ebean.cache.ServerCache.getAll:(Ljava/util/Set;)Ljava/util/Map;
            astore 4 /* beanDataMap */
        start local 4 // java.util.Map beanDataMap
         6: .line 388
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 8
         7: .line 389
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            ldc "   MGET {}({}) - hits:{}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* ids */
            aastore
            dup
            iconst_2
            aload 4 /* beanDataMap */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            aastore
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 392
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebean.bean.PersistenceContext java.util.Collection java.util.Set java.util.Map
      StackMap stack:
            new io.ebeaninternal.api.BeanCacheResult
            dup
            invokespecial io.ebeaninternal.api.BeanCacheResult.<init>:()V
            astore 5 /* result */
        start local 5 // io.ebeaninternal.api.BeanCacheResult result
         9: .line 393
            aload 4 /* beanDataMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 14
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebean.bean.PersistenceContext java.util.Collection java.util.Set java.util.Map io.ebeaninternal.api.BeanCacheResult top java.util.Iterator
      StackMap stack:
        10: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
        11: .line 394
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.ebeaninternal.server.cache.CachedBeanData
            astore 8 /* cachedBeanData */
        start local 8 // io.ebeaninternal.server.cache.CachedBeanData cachedBeanData
        12: .line 395
            aload 0 /* this */
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 1 /* context */
            aload 8 /* cachedBeanData */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.convertToBean:(Ljava/lang/Object;Ljava/lang/Boolean;Lio/ebean/bean/PersistenceContext;Lio/ebeaninternal/server/cache/CachedBeanData;)Ljava/lang/Object;
            astore 9 /* bean */
        start local 9 // java.lang.Object bean
        13: .line 396
            aload 5 /* result */
            aload 9 /* bean */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 9 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getBeanId:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual io.ebeaninternal.api.BeanCacheResult.add:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 9 // java.lang.Object bean
        end local 8 // io.ebeaninternal.server.cache.CachedBeanData cachedBeanData
        end local 6 // java.util.Map$Entry entry
        14: .line 393
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        15: .line 399
            aload 5 /* result */
            areturn
        end local 5 // io.ebeaninternal.api.BeanCacheResult result
        end local 4 // java.util.Map beanDataMap
        end local 3 // java.util.Set keys
        end local 2 // java.util.Collection ids
        end local 1 // io.ebean.bean.PersistenceContext context
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   16     0            this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0   16     1         context  Lio/ebean/bean/PersistenceContext;
            0   16     2             ids  Ljava/util/Collection<*>;
            1   16     3            keys  Ljava/util/Set<Ljava/lang/Object;>;
            3    4     4              id  Ljava/lang/Object;
            6   16     4     beanDataMap  Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
            9   16     5          result  Lio/ebeaninternal/api/BeanCacheResult<TT;>;
           11   14     6           entry  Ljava/util/Map$Entry<Ljava/lang/Object;Ljava/lang/Object;>;
           12   14     8  cachedBeanData  Lio/ebeaninternal/server/cache/CachedBeanData;
           13   14     9            bean  TT;
    Signature: (Lio/ebean/bean/PersistenceContext;Ljava/util/Collection<*>;)Lio/ebeaninternal/api/BeanCacheResult<TT;>;
    MethodParameters:
         Name  Flags
      context  
      ids      

  io.ebeaninternal.api.BeanCacheResult<T> naturalKeyLookup(io.ebean.bean.PersistenceContext, java.util.Set<java.lang.Object>);
    descriptor: (Lio/ebean/bean/PersistenceContext;Ljava/util/Set;)Lio/ebeaninternal/api/BeanCacheResult;
    flags: (0x0000) 
    Code:
      stack=6, locals=14, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // io.ebean.bean.PersistenceContext context
        start local 2 // java.util.Set keys
         0: .line 407
            aload 1 /* context */
            ifnonnull 2
         1: .line 408
            new io.ebeaninternal.server.transaction.DefaultPersistenceContext
            dup
            invokespecial io.ebeaninternal.server.transaction.DefaultPersistenceContext.<init>:()V
            astore 1 /* context */
         2: .line 412
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.naturalKeyCache:Lio/ebean/cache/ServerCache;
            aload 2 /* keys */
            invokeinterface io.ebean.cache.ServerCache.getAll:(Ljava/util/Set;)Ljava/util/Map;
            astore 3 /* naturalKeyMap */
        start local 3 // java.util.Map naturalKeyMap
         3: .line 414
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.natLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 5
         4: .line 415
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.natLog:Lorg/slf4j/Logger;
            ldc " MLOOKUP {}({}) - hits:{}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* keys */
            aastore
            dup
            iconst_2
            aload 3 /* naturalKeyMap */
            aastore
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
         5: .line 418
      StackMap locals: java.util.Map
      StackMap stack:
            new io.ebeaninternal.api.BeanCacheResult
            dup
            invokespecial io.ebeaninternal.api.BeanCacheResult.<init>:()V
            astore 4 /* result */
        start local 4 // io.ebeaninternal.api.BeanCacheResult result
         6: .line 419
            aload 3 /* naturalKeyMap */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 8
         7: .line 420
            aload 4 /* result */
            areturn
         8: .line 424
      StackMap locals: io.ebeaninternal.api.BeanCacheResult
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 5 /* reverseMap */
        start local 5 // java.util.Map reverseMap
         9: .line 425
            aload 3 /* naturalKeyMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 12
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebean.bean.PersistenceContext java.util.Set java.util.Map io.ebeaninternal.api.BeanCacheResult java.util.Map top java.util.Iterator
      StackMap stack:
        10: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
        11: .line 426
            aload 5 /* reverseMap */
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.util.Map$Entry entry
        12: .line 425
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        13: .line 429
            new java.util.HashSet
            dup
            aload 3 /* naturalKeyMap */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 6 /* ids */
        start local 6 // java.util.Set ids
        14: .line 430
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCache:Lio/ebean/cache/ServerCache;
            aload 6 /* ids */
            invokeinterface io.ebean.cache.ServerCache.getAll:(Ljava/util/Set;)Ljava/util/Map;
            astore 7 /* beanDataMap */
        start local 7 // java.util.Map beanDataMap
        15: .line 431
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 17
        16: .line 432
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            ldc "   MGET {}({}) - hits:{}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 6 /* ids */
            aastore
            dup
            iconst_2
            aload 7 /* beanDataMap */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            aastore
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
        17: .line 435
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebean.bean.PersistenceContext java.util.Set java.util.Map io.ebeaninternal.api.BeanCacheResult java.util.Map java.util.Set java.util.Map
      StackMap stack:
            aload 7 /* beanDataMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 24
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebean.bean.PersistenceContext java.util.Set java.util.Map io.ebeaninternal.api.BeanCacheResult java.util.Map java.util.Set java.util.Map top java.util.Iterator
      StackMap stack:
        18: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 8 /* entry */
        start local 8 // java.util.Map$Entry entry
        19: .line 437
            aload 8 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            astore 10 /* id */
        start local 10 // java.lang.Object id
        20: .line 438
            aload 8 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.ebeaninternal.server.cache.CachedBeanData
            astore 11 /* cachedBeanData */
        start local 11 // io.ebeaninternal.server.cache.CachedBeanData cachedBeanData
        21: .line 440
            aload 0 /* this */
            aload 10 /* id */
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 1 /* context */
            aload 11 /* cachedBeanData */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.convertToBean:(Ljava/lang/Object;Ljava/lang/Boolean;Lio/ebean/bean/PersistenceContext;Lio/ebeaninternal/server/cache/CachedBeanData;)Ljava/lang/Object;
            astore 12 /* bean */
        start local 12 // java.lang.Object bean
        22: .line 441
            aload 5 /* reverseMap */
            aload 10 /* id */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 13 /* naturalKey */
        start local 13 // java.lang.Object naturalKey
        23: .line 442
            aload 4 /* result */
            aload 12 /* bean */
            aload 13 /* naturalKey */
            invokevirtual io.ebeaninternal.api.BeanCacheResult.add:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 13 // java.lang.Object naturalKey
        end local 12 // java.lang.Object bean
        end local 11 // io.ebeaninternal.server.cache.CachedBeanData cachedBeanData
        end local 10 // java.lang.Object id
        end local 8 // java.util.Map$Entry entry
        24: .line 435
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        25: .line 445
            aload 4 /* result */
            areturn
        end local 7 // java.util.Map beanDataMap
        end local 6 // java.util.Set ids
        end local 5 // java.util.Map reverseMap
        end local 4 // io.ebeaninternal.api.BeanCacheResult result
        end local 3 // java.util.Map naturalKeyMap
        end local 2 // java.util.Set keys
        end local 1 // io.ebean.bean.PersistenceContext context
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   26     0            this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0   26     1         context  Lio/ebean/bean/PersistenceContext;
            0   26     2            keys  Ljava/util/Set<Ljava/lang/Object;>;
            3   26     3   naturalKeyMap  Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
            6   26     4          result  Lio/ebeaninternal/api/BeanCacheResult<TT;>;
            9   26     5      reverseMap  Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
           11   12     6           entry  Ljava/util/Map$Entry<Ljava/lang/Object;Ljava/lang/Object;>;
           14   26     6             ids  Ljava/util/Set<Ljava/lang/Object;>;
           15   26     7     beanDataMap  Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
           19   24     8           entry  Ljava/util/Map$Entry<Ljava/lang/Object;Ljava/lang/Object;>;
           20   24    10              id  Ljava/lang/Object;
           21   24    11  cachedBeanData  Lio/ebeaninternal/server/cache/CachedBeanData;
           22   24    12            bean  TT;
           23   24    13      naturalKey  Ljava/lang/Object;
    Signature: (Lio/ebean/bean/PersistenceContext;Ljava/util/Set<Ljava/lang/Object;>;)Lio/ebeaninternal/api/BeanCacheResult<TT;>;
    MethodParameters:
         Name  Flags
      context  
      keys     

  private void setupContext(java.lang.Object, io.ebean.bean.PersistenceContext);
    descriptor: (Ljava/lang/Object;Lio/ebean/bean/PersistenceContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.lang.Object bean
        start local 2 // io.ebean.bean.PersistenceContext context
         0: .line 452
            aload 2 /* context */
            ifnonnull 2
         1: .line 453
            new io.ebeaninternal.server.transaction.DefaultPersistenceContext
            dup
            invokespecial io.ebeaninternal.server.transaction.DefaultPersistenceContext.<init>:()V
            astore 2 /* context */
         2: .line 458
      StackMap locals:
      StackMap stack:
            aload 1 /* bean */
            checkcast io.ebean.bean.EntityBean
            astore 3 /* entityBean */
        start local 3 // io.ebean.bean.EntityBean entityBean
         3: .line 459
            aload 3 /* entityBean */
            invokeinterface io.ebean.bean.EntityBean._ebean_getIntercept:()Lio/ebean/bean/EntityBeanIntercept;
            astore 4 /* ebi */
        start local 4 // io.ebean.bean.EntityBeanIntercept ebi
         4: .line 460
            aload 4 /* ebi */
            aload 2 /* context */
            invokevirtual io.ebean.bean.EntityBeanIntercept.setPersistenceContext:(Lio/ebean/bean/PersistenceContext;)V
         5: .line 461
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 3 /* entityBean */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getId:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            astore 5 /* id */
        start local 5 // java.lang.Object id
         6: .line 462
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 2 /* context */
            aload 5 /* id */
            aload 1 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.contextPut:(Lio/ebean/bean/PersistenceContext;Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 463
            return
        end local 5 // java.lang.Object id
        end local 4 // io.ebean.bean.EntityBeanIntercept ebi
        end local 3 // io.ebean.bean.EntityBean entityBean
        end local 2 // io.ebean.bean.PersistenceContext context
        end local 1 // java.lang.Object bean
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    8     1        bean  Ljava/lang/Object;
            0    8     2     context  Lio/ebean/bean/PersistenceContext;
            3    8     3  entityBean  Lio/ebean/bean/EntityBean;
            4    8     4         ebi  Lio/ebean/bean/EntityBeanIntercept;
            6    8     5          id  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      bean     
      context  

  private io.ebean.cache.ServerCache getBeanCache();
    descriptor: ()Lio/ebean/cache/ServerCache;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
         0: .line 469
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCache:Lio/ebean/cache/ServerCache;
            ifnonnull 2
         1: .line 470
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No bean cache enabled for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ". Add the @Cache annotation."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 472
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCache:Lio/ebean/cache/ServerCache;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;

  void beanCacheClear();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
         0: .line 479
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCache:Lio/ebean/cache/ServerCache;
            ifnull 4
         1: .line 480
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 3
         2: .line 481
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            ldc "   CLEAR {}"
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 483
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCache:Lio/ebean/cache/ServerCache;
            invokeinterface io.ebean.cache.ServerCache.clear:()V
         4: .line 485
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;

  io.ebeaninternal.server.cache.CachedBeanData beanExtractData(io.ebeaninternal.server.deploy.BeanDescriptor<?>, io.ebean.bean.EntityBean);
    descriptor: (Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebean/bean/EntityBean;)Lio/ebeaninternal/server/cache/CachedBeanData;
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // io.ebeaninternal.server.deploy.BeanDescriptor targetDesc
        start local 2 // io.ebean.bean.EntityBean bean
         0: .line 488
            aload 1 /* targetDesc */
            aload 2 /* bean */
            invokestatic io.ebeaninternal.server.cache.CachedBeanDataFromBean.extract:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebean/bean/EntityBean;)Lio/ebeaninternal/server/cache/CachedBeanData;
            areturn
        end local 2 // io.ebean.bean.EntityBean bean
        end local 1 // io.ebeaninternal.server.deploy.BeanDescriptor targetDesc
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    1     1  targetDesc  Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
            0    1     2        bean  Lio/ebean/bean/EntityBean;
    Signature: (Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;Lio/ebean/bean/EntityBean;)Lio/ebeaninternal/server/cache/CachedBeanData;
    MethodParameters:
            Name  Flags
      targetDesc  
      bean        

  void beanPutAll(java.util.Collection<io.ebean.bean.EntityBean>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.util.Collection beans
         0: .line 492
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            getfield io.ebeaninternal.server.deploy.BeanDescriptor.inheritInfo:Lio/ebeaninternal/server/deploy/InheritInfo;
            ifnull 16
         1: .line 493
            aload 0 /* this */
            aload 1 /* beans */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.theClassOf:(Ljava/util/Collection;)Ljava/lang/Class;
            astore 2 /* aClass */
        start local 2 // java.lang.Class aClass
         2: .line 495
            aload 1 /* beans */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp java.util.Collection java.lang.Class top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.ebean.bean.EntityBean
            astore 3 /* bean */
        start local 3 // io.ebean.bean.EntityBean bean
         4: .line 496
            aload 3 /* bean */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 2 /* aClass */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 7
         5: .line 497
            aconst_null
            astore 2 /* aClass */
         6: .line 498
            goto 8
        end local 3 // io.ebean.bean.EntityBean bean
         7: .line 495
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 501
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp java.util.Collection java.lang.Class
      StackMap stack:
            aload 2 /* aClass */
            ifnonnull 14
         9: .line 503
            aload 1 /* beans */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp java.util.Collection java.lang.Class top java.util.Iterator
      StackMap stack:
        10: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.ebean.bean.EntityBean
            astore 3 /* bean */
        start local 3 // io.ebean.bean.EntityBean bean
        11: .line 504
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 3 /* bean */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.descOf:(Ljava/lang/Class;)Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 3 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.cacheBeanPutDirect:(Lio/ebean/bean/EntityBean;)V
        end local 3 // io.ebean.bean.EntityBean bean
        12: .line 503
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        13: .line 506
            goto 17
        14: .line 507
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp java.util.Collection java.lang.Class
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 2 /* aClass */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.descOf:(Ljava/lang/Class;)Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* beans */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.cacheBeanPutAllDirect:(Ljava/util/Collection;)V
        end local 2 // java.lang.Class aClass
        15: .line 509
            goto 17
        16: .line 510
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* beans */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCachePutAllDirect:(Ljava/util/Collection;)V
        17: .line 512
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Collection beans
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0   18     1   beans  Ljava/util/Collection<Lio/ebean/bean/EntityBean;>;
            2   15     2  aClass  Ljava/lang/Class<*>;
            4    7     3    bean  Lio/ebean/bean/EntityBean;
           11   12     3    bean  Lio/ebean/bean/EntityBean;
    Signature: (Ljava/util/Collection<Lio/ebean/bean/EntityBean;>;)V
    MethodParameters:
       Name  Flags
      beans  

  private java.lang.Class<?> theClassOf(java.util.Collection<io.ebean.bean.EntityBean>);
    descriptor: (Ljava/util/Collection;)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.util.Collection beans
         0: .line 515
            aload 1 /* beans */
            instanceof java.util.List
            ifeq 2
         1: .line 516
            aload 1 /* beans */
            checkcast java.util.List
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            areturn
         2: .line 518
      StackMap locals:
      StackMap stack:
            aload 1 /* beans */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.ebean.bean.EntityBean
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            areturn
        end local 1 // java.util.Collection beans
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    3     1  beans  Ljava/util/Collection<Lio/ebean/bean/EntityBean;>;
    Signature: (Ljava/util/Collection<Lio/ebean/bean/EntityBean;>;)Ljava/lang/Class<*>;
    MethodParameters:
       Name  Flags
      beans  

  void beanCachePut(io.ebean.bean.EntityBean);
    descriptor: (Lio/ebean/bean/EntityBean;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // io.ebean.bean.EntityBean bean
         0: .line 526
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            getfield io.ebeaninternal.server.deploy.BeanDescriptor.inheritInfo:Lio/ebeaninternal/server/deploy/InheritInfo;
            ifnull 3
         1: .line 527
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* bean */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.descOf:(Ljava/lang/Class;)Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.cacheBeanPutDirect:(Lio/ebean/bean/EntityBean;)V
         2: .line 528
            goto 4
         3: .line 529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCachePutDirect:(Lio/ebean/bean/EntityBean;)V
         4: .line 531
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.ebean.bean.EntityBean bean
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    5     1  bean  Lio/ebean/bean/EntityBean;
    MethodParameters:
      Name  Flags
      bean  

  void beanCachePutAllDirect(java.util.Collection<io.ebean.bean.EntityBean>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.util.Collection beans
         0: .line 535
            aconst_null
            astore 2 /* natKeys */
        start local 2 // java.util.Map natKeys
         1: .line 536
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.naturalKey:[Ljava/lang/String;
            ifnull 3
         2: .line 537
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 2 /* natKeys */
         3: .line 540
      StackMap locals: java.util.Map
      StackMap stack:
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 3 /* map */
        start local 3 // java.util.Map map
         4: .line 541
            aload 1 /* beans */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 13
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp java.util.Collection java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.ebean.bean.EntityBean
            astore 4 /* bean */
        start local 4 // io.ebean.bean.EntityBean bean
         6: .line 542
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 4 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanExtractData:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebean/bean/EntityBean;)Lio/ebeaninternal/server/cache/CachedBeanData;
            astore 6 /* beanData */
        start local 6 // io.ebeaninternal.server.cache.CachedBeanData beanData
         7: .line 543
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 4 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.cacheKeyForBean:(Lio/ebean/bean/EntityBean;)Ljava/lang/String;
            astore 7 /* key */
        start local 7 // java.lang.String key
         8: .line 544
            aload 3 /* map */
            aload 7 /* key */
            aload 6 /* beanData */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 545
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.naturalKey:[Ljava/lang/String;
            ifnull 13
        10: .line 546
            aload 0 /* this */
            aload 6 /* beanData */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.calculateNaturalKey:(Lio/ebeaninternal/server/cache/CachedBeanData;)Ljava/lang/String;
            astore 8 /* naturalKey */
        start local 8 // java.lang.Object naturalKey
        11: .line 547
            aload 8 /* naturalKey */
            ifnull 13
        12: .line 548
            aload 2 /* natKeys */
            aload 8 /* naturalKey */
            aload 7 /* key */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // java.lang.Object naturalKey
        end local 7 // java.lang.String key
        end local 6 // io.ebeaninternal.server.cache.CachedBeanData beanData
        end local 4 // io.ebean.bean.EntityBean bean
        13: .line 541
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        14: .line 552
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 16
        15: .line 553
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            ldc "   MPUT {}({})"
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aload 3 /* map */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        16: .line 555
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp java.util.Collection java.util.Map java.util.Map
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.getBeanCache:()Lio/ebean/cache/ServerCache;
            aload 3 /* map */
            invokeinterface io.ebean.cache.ServerCache.putAll:(Ljava/util/Map;)V
        17: .line 557
            aload 2 /* natKeys */
            ifnull 21
            aload 2 /* natKeys */
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 21
        18: .line 558
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.natLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 20
        19: .line 559
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.natLog:Lorg/slf4j/Logger;
            ldc " MPUT {}({}, {})"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.naturalKey:[Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 2 /* natKeys */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            aastore
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        20: .line 561
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.naturalKeyCache:Lio/ebean/cache/ServerCache;
            aload 2 /* natKeys */
            invokeinterface io.ebean.cache.ServerCache.putAll:(Ljava/util/Map;)V
        21: .line 563
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.Map map
        end local 2 // java.util.Map natKeys
        end local 1 // java.util.Collection beans
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0   22     1       beans  Ljava/util/Collection<Lio/ebean/bean/EntityBean;>;
            1   22     2     natKeys  Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
            4   22     3         map  Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
            6   13     4        bean  Lio/ebean/bean/EntityBean;
            7   13     6    beanData  Lio/ebeaninternal/server/cache/CachedBeanData;
            8   13     7         key  Ljava/lang/String;
           11   13     8  naturalKey  Ljava/lang/Object;
    Signature: (Ljava/util/Collection<Lio/ebean/bean/EntityBean;>;)V
    MethodParameters:
       Name  Flags
      beans  

  void beanCachePutDirect(io.ebean.bean.EntityBean);
    descriptor: (Lio/ebean/bean/EntityBean;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // io.ebean.bean.EntityBean bean
         0: .line 570
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanExtractData:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebean/bean/EntityBean;)Lio/ebeaninternal/server/cache/CachedBeanData;
            astore 2 /* beanData */
        start local 2 // io.ebeaninternal.server.cache.CachedBeanData beanData
         1: .line 572
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.cacheKeyForBean:(Lio/ebean/bean/EntityBean;)Ljava/lang/String;
            astore 3 /* key */
        start local 3 // java.lang.String key
         2: .line 573
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 4
         3: .line 574
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            ldc "   PUT {}({}) data:{}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 3 /* key */
            aastore
            dup
            iconst_2
            aload 2 /* beanData */
            aastore
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 576
      StackMap locals: io.ebeaninternal.server.cache.CachedBeanData java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.getBeanCache:()Lio/ebean/cache/ServerCache;
            aload 3 /* key */
            aload 2 /* beanData */
            invokeinterface io.ebean.cache.ServerCache.put:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 578
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.naturalKey:[Ljava/lang/String;
            ifnull 11
         6: .line 579
            aload 0 /* this */
            aload 2 /* beanData */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.calculateNaturalKey:(Lio/ebeaninternal/server/cache/CachedBeanData;)Ljava/lang/String;
            astore 4 /* naturalKey */
        start local 4 // java.lang.String naturalKey
         7: .line 580
            aload 4 /* naturalKey */
            ifnull 11
         8: .line 581
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.natLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 10
         9: .line 582
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.natLog:Lorg/slf4j/Logger;
            ldc " PUT {}({}, {})"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 4 /* naturalKey */
            aastore
            dup
            iconst_2
            aload 3 /* key */
            aastore
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        10: .line 584
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.naturalKeyCache:Lio/ebean/cache/ServerCache;
            aload 4 /* naturalKey */
            aload 3 /* key */
            invokeinterface io.ebean.cache.ServerCache.put:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 4 // java.lang.String naturalKey
        11: .line 587
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String key
        end local 2 // io.ebeaninternal.server.cache.CachedBeanData beanData
        end local 1 // io.ebean.bean.EntityBean bean
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0   12     1        bean  Lio/ebean/bean/EntityBean;
            1   12     2    beanData  Lio/ebeaninternal/server/cache/CachedBeanData;
            2   12     3         key  Ljava/lang/String;
            7   11     4  naturalKey  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      bean  

  private java.lang.String calculateNaturalKey(io.ebeaninternal.server.cache.CachedBeanData);
    descriptor: (Lio/ebeaninternal/server/cache/CachedBeanData;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // io.ebeaninternal.server.cache.CachedBeanData beanData
         0: .line 590
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.naturalKey:[Ljava/lang/String;
            arraylength
            iconst_1
            if_icmpne 5
         1: .line 591
            aload 1 /* beanData */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.naturalKey:[Ljava/lang/String;
            iconst_0
            aaload
            invokevirtual io.ebeaninternal.server.cache.CachedBeanData.getData:(Ljava/lang/String;)Ljava/lang/Object;
            astore 2 /* data */
        start local 2 // java.lang.Object data
         2: .line 592
            aload 2 /* data */
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals: java.lang.Object
      StackMap stack:
         3: aload 2 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         4: areturn
        end local 2 // java.lang.Object data
         5: .line 594
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         6: .line 595
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.naturalKey:[Ljava/lang/String;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 13
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebeaninternal.server.cache.CachedBeanData java.lang.StringBuilder top int int java.lang.String[]
      StackMap stack:
         7: aload 6
            iload 4
            aaload
            astore 3 /* key */
        start local 3 // java.lang.String key
         8: .line 596
            aload 1 /* beanData */
            aload 3 /* key */
            invokevirtual io.ebeaninternal.server.cache.CachedBeanData.getData:(Ljava/lang/String;)Ljava/lang/Object;
            astore 7 /* val */
        start local 7 // java.lang.Object val
         9: .line 597
            aload 7 /* val */
            ifnonnull 11
        10: .line 598
            aconst_null
            areturn
        11: .line 600
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebeaninternal.server.cache.CachedBeanData java.lang.StringBuilder java.lang.String int int java.lang.String[] java.lang.Object
      StackMap stack:
            aload 2 /* sb */
            aload 7 /* val */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 7 // java.lang.Object val
        end local 3 // java.lang.String key
        12: .line 595
            iinc 4 1
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebeaninternal.server.cache.CachedBeanData java.lang.StringBuilder top int int java.lang.String[]
      StackMap stack:
        13: iload 4
            iload 5
            if_icmplt 7
        14: .line 602
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // io.ebeaninternal.server.cache.CachedBeanData beanData
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0   15     1  beanData  Lio/ebeaninternal/server/cache/CachedBeanData;
            2    5     2      data  Ljava/lang/Object;
            6   15     2        sb  Ljava/lang/StringBuilder;
            8   12     3       key  Ljava/lang/String;
            9   12     7       val  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      beanData  

  io.ebeaninternal.server.cache.CachedBeanData beanCacheGetData(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/ebeaninternal/server/cache/CachedBeanData;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.lang.String key
         0: .line 606
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.getBeanCache:()Lio/ebean/cache/ServerCache;
            aload 1 /* key */
            invokeinterface io.ebean.cache.ServerCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebeaninternal.server.cache.CachedBeanData
            areturn
        end local 1 // java.lang.String key
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    1     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  T beanCacheGet(java.lang.String, java.lang.Boolean, io.ebean.bean.PersistenceContext);
    descriptor: (Ljava/lang/String;Ljava/lang/Boolean;Lio/ebean/bean/PersistenceContext;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.lang.String key
        start local 2 // java.lang.Boolean readOnly
        start local 3 // io.ebean.bean.PersistenceContext context
         0: .line 610
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* readOnly */
            aload 3 /* context */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCacheGetInternal:(Ljava/lang/String;Ljava/lang/Boolean;Lio/ebean/bean/PersistenceContext;)Ljava/lang/Object;
            astore 4 /* bean */
        start local 4 // java.lang.Object bean
         1: .line 611
            aload 4 /* bean */
            ifnull 3
         2: .line 612
            aload 0 /* this */
            aload 4 /* bean */
            aload 3 /* context */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.setupContext:(Ljava/lang/Object;Lio/ebean/bean/PersistenceContext;)V
         3: .line 614
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4 /* bean */
            areturn
        end local 4 // java.lang.Object bean
        end local 3 // io.ebean.bean.PersistenceContext context
        end local 2 // java.lang.Boolean readOnly
        end local 1 // java.lang.String key
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    4     1       key  Ljava/lang/String;
            0    4     2  readOnly  Ljava/lang/Boolean;
            0    4     3   context  Lio/ebean/bean/PersistenceContext;
            1    4     4      bean  TT;
    Signature: (Ljava/lang/String;Ljava/lang/Boolean;Lio/ebean/bean/PersistenceContext;)TT;
    MethodParameters:
          Name  Flags
      key       
      readOnly  
      context   

  private T beanCacheGetInternal(java.lang.String, java.lang.Boolean, io.ebean.bean.PersistenceContext);
    descriptor: (Ljava/lang/String;Ljava/lang/Boolean;Lio/ebean/bean/PersistenceContext;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.lang.String key
        start local 2 // java.lang.Boolean readOnly
        start local 3 // io.ebean.bean.PersistenceContext context
         0: .line 622
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.getBeanCache:()Lio/ebean/cache/ServerCache;
            aload 1 /* key */
            invokeinterface io.ebean.cache.ServerCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebeaninternal.server.cache.CachedBeanData
            astore 4 /* data */
        start local 4 // io.ebeaninternal.server.cache.CachedBeanData data
         1: .line 623
            aload 4 /* data */
            ifnonnull 5
         2: .line 624
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 4
         3: .line 625
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            ldc "   GET {}({}) - cache miss"
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aload 1 /* key */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 627
      StackMap locals: io.ebeaninternal.server.cache.CachedBeanData
      StackMap stack:
            aconst_null
            areturn
         5: .line 629
      StackMap locals:
      StackMap stack:
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 7
         6: .line 630
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            ldc "   GET {}({}) - hit"
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aload 1 /* key */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 632
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* readOnly */
            aload 3 /* context */
            aload 4 /* data */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.convertToBean:(Ljava/lang/Object;Ljava/lang/Boolean;Lio/ebean/bean/PersistenceContext;Lio/ebeaninternal/server/cache/CachedBeanData;)Ljava/lang/Object;
            areturn
        end local 4 // io.ebeaninternal.server.cache.CachedBeanData data
        end local 3 // io.ebean.bean.PersistenceContext context
        end local 2 // java.lang.Boolean readOnly
        end local 1 // java.lang.String key
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    8     1       key  Ljava/lang/String;
            0    8     2  readOnly  Ljava/lang/Boolean;
            0    8     3   context  Lio/ebean/bean/PersistenceContext;
            1    8     4      data  Lio/ebeaninternal/server/cache/CachedBeanData;
    Signature: (Ljava/lang/String;Ljava/lang/Boolean;Lio/ebean/bean/PersistenceContext;)TT;
    MethodParameters:
          Name  Flags
      key       
      readOnly  
      context   

  private T convertToBean(, java.lang.Boolean, io.ebean.bean.PersistenceContext, io.ebeaninternal.server.cache.CachedBeanData);
    descriptor: (Ljava/lang/Object;Ljava/lang/Boolean;Lio/ebean/bean/PersistenceContext;Lio/ebeaninternal/server/cache/CachedBeanData;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.lang.Object id
        start local 2 // java.lang.Boolean readOnly
        start local 3 // io.ebean.bean.PersistenceContext context
        start local 4 // io.ebeaninternal.server.cache.CachedBeanData data
         0: .line 637
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheSharableBeans:Z
            ifeq 8
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            aload 2 /* readOnly */
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifne 8
         1: .line 638
            aload 4 /* data */
            invokevirtual io.ebeaninternal.server.cache.CachedBeanData.getSharableBean:()Ljava/lang/Object;
            astore 5 /* bean */
        start local 5 // java.lang.Object bean
         2: .line 639
            aload 5 /* bean */
            ifnull 8
         3: .line 640
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 5
         4: .line 641
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            ldc "   GET {}({}) - hit shared bean"
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aload 1 /* id */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 643
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.isReadAuditing:()Z
            ifeq 7
         6: .line 644
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            ldc "l2"
            ldc ""
            aload 5 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.readAuditBean:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 646
      StackMap locals:
      StackMap stack:
            aload 5 /* bean */
            areturn
        end local 5 // java.lang.Object bean
         8: .line 650
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* readOnly */
            aload 4 /* data */
            aload 3 /* context */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.loadBean:(Ljava/lang/Object;Ljava/lang/Boolean;Lio/ebeaninternal/server/cache/CachedBeanData;Lio/ebean/bean/PersistenceContext;)Lio/ebean/bean/EntityBean;
            areturn
        end local 4 // io.ebeaninternal.server.cache.CachedBeanData data
        end local 3 // io.ebean.bean.PersistenceContext context
        end local 2 // java.lang.Boolean readOnly
        end local 1 // java.lang.Object id
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    9     1        id  Ljava/lang/Object;
            0    9     2  readOnly  Ljava/lang/Boolean;
            0    9     3   context  Lio/ebean/bean/PersistenceContext;
            0    9     4      data  Lio/ebeaninternal/server/cache/CachedBeanData;
            2    8     5      bean  Ljava/lang/Object;
    Signature: (Ljava/lang/Object;Ljava/lang/Boolean;Lio/ebean/bean/PersistenceContext;Lio/ebeaninternal/server/cache/CachedBeanData;)TT;
    MethodParameters:
          Name  Flags
      id        
      readOnly  
      context   
      data      

  private io.ebean.bean.EntityBean loadBean(java.lang.Object, java.lang.Boolean, io.ebeaninternal.server.cache.CachedBeanData, io.ebean.bean.PersistenceContext);
    descriptor: (Ljava/lang/Object;Ljava/lang/Boolean;Lio/ebeaninternal/server/cache/CachedBeanData;Lio/ebean/bean/PersistenceContext;)Lio/ebean/bean/EntityBean;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.lang.Object id
        start local 2 // java.lang.Boolean readOnly
        start local 3 // io.ebeaninternal.server.cache.CachedBeanData data
        start local 4 // io.ebean.bean.PersistenceContext context
         0: .line 658
            aload 3 /* data */
            invokevirtual io.ebeaninternal.server.cache.CachedBeanData.getDiscValue:()Ljava/lang/String;
            astore 5 /* discValue */
        start local 5 // java.lang.String discValue
         1: .line 659
            aload 5 /* discValue */
            ifnonnull 3
         2: .line 660
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* readOnly */
            aload 3 /* data */
            aload 4 /* context */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.loadBeanDirect:(Ljava/lang/Object;Ljava/lang/Boolean;Lio/ebeaninternal/server/cache/CachedBeanData;Lio/ebean/bean/PersistenceContext;)Lio/ebean/bean/EntityBean;
            areturn
         3: .line 662
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 5 /* discValue */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.rootDescriptor:(Ljava/lang/String;)Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* id */
            aload 2 /* readOnly */
            aload 3 /* data */
            aload 4 /* context */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.cacheBeanLoadDirect:(Ljava/lang/Object;Ljava/lang/Boolean;Lio/ebeaninternal/server/cache/CachedBeanData;Lio/ebean/bean/PersistenceContext;)Lio/ebean/bean/EntityBean;
            areturn
        end local 5 // java.lang.String discValue
        end local 4 // io.ebean.bean.PersistenceContext context
        end local 3 // io.ebeaninternal.server.cache.CachedBeanData data
        end local 2 // java.lang.Boolean readOnly
        end local 1 // java.lang.Object id
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    4     1         id  Ljava/lang/Object;
            0    4     2   readOnly  Ljava/lang/Boolean;
            0    4     3       data  Lio/ebeaninternal/server/cache/CachedBeanData;
            0    4     4    context  Lio/ebean/bean/PersistenceContext;
            1    4     5  discValue  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      id        
      readOnly  
      data      
      context   

  private io.ebeaninternal.server.deploy.BeanDescriptor<?> rootDescriptor(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/ebeaninternal/server/deploy/BeanDescriptor;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.lang.String discValue
         0: .line 670
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            getfield io.ebeaninternal.server.deploy.BeanDescriptor.inheritInfo:Lio/ebeaninternal/server/deploy/InheritInfo;
            aload 1 /* discValue */
            invokevirtual io.ebeaninternal.server.deploy.InheritInfo.readType:(Ljava/lang/String;)Lio/ebeaninternal/server/deploy/InheritInfo;
            invokevirtual io.ebeaninternal.server.deploy.InheritInfo.desc:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
            areturn
        end local 1 // java.lang.String discValue
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    1     1  discValue  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
    MethodParameters:
           Name  Flags
      discValue  

  io.ebean.bean.EntityBean loadBeanDirect(java.lang.Object, java.lang.Boolean, io.ebeaninternal.server.cache.CachedBeanData, io.ebean.bean.PersistenceContext);
    descriptor: (Ljava/lang/Object;Ljava/lang/Boolean;Lio/ebeaninternal/server/cache/CachedBeanData;Lio/ebean/bean/PersistenceContext;)Lio/ebean/bean/EntityBean;
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.lang.Object id
        start local 2 // java.lang.Boolean readOnly
        start local 3 // io.ebeaninternal.server.cache.CachedBeanData data
        start local 4 // io.ebean.bean.PersistenceContext context
         0: .line 678
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* id */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.convertId:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* id */
         1: .line 679
            aconst_null
            astore 5 /* bean */
        start local 5 // io.ebean.bean.EntityBean bean
         2: .line 680
            aload 4 /* context */
            ifnonnull 5
         3: .line 681
            new io.ebeaninternal.server.transaction.DefaultPersistenceContext
            dup
            invokespecial io.ebeaninternal.server.transaction.DefaultPersistenceContext.<init>:()V
            astore 4 /* context */
         4: .line 682
            goto 6
         5: .line 683
      StackMap locals: io.ebean.bean.EntityBean
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 4 /* context */
            aload 1 /* id */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.contextGet:(Lio/ebean/bean/PersistenceContext;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebean.bean.EntityBean
            astore 5 /* bean */
         6: .line 686
      StackMap locals:
      StackMap stack:
            aload 5 /* bean */
            ifnonnull 15
         7: .line 687
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.createEntityBean:()Lio/ebean/bean/EntityBean;
            astore 5 /* bean */
         8: .line 688
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* id */
            aload 5 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.setId:(Ljava/lang/Object;Lio/ebean/bean/EntityBean;)V
         9: .line 689
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 4 /* context */
            aload 1 /* id */
            aload 5 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.contextPut:(Lio/ebean/bean/PersistenceContext;Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 691
            aload 5 /* bean */
            invokeinterface io.ebean.bean.EntityBean._ebean_getIntercept:()Lio/ebean/bean/EntityBeanIntercept;
            astore 6 /* ebi */
        start local 6 // io.ebean.bean.EntityBeanIntercept ebi
        11: .line 693
            aload 6 /* ebi */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.l2BeanLoader:()Lio/ebean/bean/SingleBeanLoader;
            invokevirtual io.ebean.bean.EntityBeanIntercept.setBeanLoader:(Lio/ebean/bean/BeanLoader;)V
        12: .line 694
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            aload 2 /* readOnly */
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 695
            aload 6 /* ebi */
            iconst_1
            invokevirtual io.ebean.bean.EntityBeanIntercept.setReadOnly:(Z)V
        14: .line 697
      StackMap locals: io.ebean.bean.EntityBeanIntercept
      StackMap stack:
            aload 6 /* ebi */
            aload 4 /* context */
            invokevirtual io.ebean.bean.EntityBeanIntercept.setPersistenceContext:(Lio/ebean/bean/PersistenceContext;)V
        end local 6 // io.ebean.bean.EntityBeanIntercept ebi
        15: .line 700
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 5 /* bean */
            aload 3 /* data */
            aload 4 /* context */
            invokestatic io.ebeaninternal.server.cache.CachedBeanDataToBean.load:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebean/bean/EntityBean;Lio/ebeaninternal/server/cache/CachedBeanData;Lio/ebean/bean/PersistenceContext;)V
        16: .line 702
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.isReadAuditing:()Z
            ifeq 18
        17: .line 703
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            ldc "l2"
            ldc ""
            aload 5 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.readAuditBean:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
        18: .line 705
      StackMap locals:
      StackMap stack:
            aload 5 /* bean */
            areturn
        end local 5 // io.ebean.bean.EntityBean bean
        end local 4 // io.ebean.bean.PersistenceContext context
        end local 3 // io.ebeaninternal.server.cache.CachedBeanData data
        end local 2 // java.lang.Boolean readOnly
        end local 1 // java.lang.Object id
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0   19     1        id  Ljava/lang/Object;
            0   19     2  readOnly  Ljava/lang/Boolean;
            0   19     3      data  Lio/ebeaninternal/server/cache/CachedBeanData;
            0   19     4   context  Lio/ebean/bean/PersistenceContext;
            2   19     5      bean  Lio/ebean/bean/EntityBean;
           11   15     6       ebi  Lio/ebean/bean/EntityBeanIntercept;
    MethodParameters:
          Name  Flags
      id        
      readOnly  
      data      
      context   

  io.ebean.bean.EntityBean embeddedBeanLoad(io.ebeaninternal.server.cache.CachedBeanData, io.ebean.bean.PersistenceContext);
    descriptor: (Lio/ebeaninternal/server/cache/CachedBeanData;Lio/ebean/bean/PersistenceContext;)Lio/ebean/bean/EntityBean;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // io.ebeaninternal.server.cache.CachedBeanData data
        start local 2 // io.ebean.bean.PersistenceContext context
         0: .line 713
            aload 1 /* data */
            invokevirtual io.ebeaninternal.server.cache.CachedBeanData.getDiscValue:()Ljava/lang/String;
            astore 3 /* discValue */
        start local 3 // java.lang.String discValue
         1: .line 714
            aload 3 /* discValue */
            ifnonnull 3
         2: .line 715
            aload 0 /* this */
            aload 1 /* data */
            aload 2 /* context */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.embeddedBeanLoadDirect:(Lio/ebeaninternal/server/cache/CachedBeanData;Lio/ebean/bean/PersistenceContext;)Lio/ebean/bean/EntityBean;
            areturn
         3: .line 717
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 3 /* discValue */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.rootDescriptor:(Ljava/lang/String;)Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* data */
            aload 2 /* context */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.cacheEmbeddedBeanLoadDirect:(Lio/ebeaninternal/server/cache/CachedBeanData;Lio/ebean/bean/PersistenceContext;)Lio/ebean/bean/EntityBean;
            areturn
        end local 3 // java.lang.String discValue
        end local 2 // io.ebean.bean.PersistenceContext context
        end local 1 // io.ebeaninternal.server.cache.CachedBeanData data
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    4     1       data  Lio/ebeaninternal/server/cache/CachedBeanData;
            0    4     2    context  Lio/ebean/bean/PersistenceContext;
            1    4     3  discValue  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      data     
      context  

  io.ebean.bean.EntityBean embeddedBeanLoadDirect(io.ebeaninternal.server.cache.CachedBeanData, io.ebean.bean.PersistenceContext);
    descriptor: (Lio/ebeaninternal/server/cache/CachedBeanData;Lio/ebean/bean/PersistenceContext;)Lio/ebean/bean/EntityBean;
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // io.ebeaninternal.server.cache.CachedBeanData data
        start local 2 // io.ebean.bean.PersistenceContext context
         0: .line 725
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.createEntityBean:()Lio/ebean/bean/EntityBean;
            astore 3 /* bean */
        start local 3 // io.ebean.bean.EntityBean bean
         1: .line 726
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 3 /* bean */
            aload 1 /* data */
            aload 2 /* context */
            invokestatic io.ebeaninternal.server.cache.CachedBeanDataToBean.load:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebean/bean/EntityBean;Lio/ebeaninternal/server/cache/CachedBeanData;Lio/ebean/bean/PersistenceContext;)V
         2: .line 727
            aload 3 /* bean */
            areturn
        end local 3 // io.ebean.bean.EntityBean bean
        end local 2 // io.ebean.bean.PersistenceContext context
        end local 1 // io.ebeaninternal.server.cache.CachedBeanData data
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    3     1     data  Lio/ebeaninternal/server/cache/CachedBeanData;
            0    3     2  context  Lio/ebean/bean/PersistenceContext;
            1    3     3     bean  Lio/ebean/bean/EntityBean;
    MethodParameters:
         Name  Flags
      data     
      context  

  void beanCacheApplyInvalidate(java.util.Collection<java.lang.String>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.util.Collection keys
         0: .line 734
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCache:Lio/ebean/cache/ServerCache;
            ifnull 4
         1: .line 735
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 3
         2: .line 736
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            ldc "   MREMOVE {}({})"
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aload 1 /* keys */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 738
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCache:Lio/ebean/cache/ServerCache;
            new java.util.HashSet
            dup
            aload 1 /* keys */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            invokeinterface io.ebean.cache.ServerCache.removeAll:(Ljava/util/Set;)V
         4: .line 740
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.propertiesOneImported:[Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 8
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp java.util.Collection top int int io.ebeaninternal.server.deploy.BeanPropertyAssocOne[]
      StackMap stack:
         5: aload 5
            iload 3
            aaload
            astore 2 /* imported */
        start local 2 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne imported
         6: .line 741
            aload 2 /* imported */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocOne.cacheClear:()V
        end local 2 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne imported
         7: .line 740
            iinc 3 1
      StackMap locals:
      StackMap stack:
         8: iload 3
            iload 4
            if_icmplt 5
         9: .line 743
            return
        end local 1 // java.util.Collection keys
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0   10     1      keys  Ljava/util/Collection<Ljava/lang/String;>;
            6    7     2  imported  Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne<*>;
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;)V
    MethodParameters:
      Name  Flags
      keys  

  java.util.Set<io.ebean.bean.EntityBeanIntercept> beanCacheLoadAll(java.util.List<io.ebean.bean.EntityBeanIntercept>, io.ebean.bean.PersistenceContext, int, java.lang.String);
    descriptor: (Ljava/util/List;Lio/ebean/bean/PersistenceContext;ILjava/lang/String;)Ljava/util/Set;
    flags: (0x0000) 
    Code:
      stack=6, locals=13, args_size=5
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.util.List list
        start local 2 // io.ebean.bean.PersistenceContext context
        start local 3 // int lazyLoadProperty
        start local 4 // java.lang.String propertyName
         0: .line 750
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 5 /* ebis */
        start local 5 // java.util.Map ebis
         1: .line 751
            aload 1 /* list */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 4
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp java.util.List io.ebean.bean.PersistenceContext int java.lang.String java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.ebean.bean.EntityBeanIntercept
            astore 6 /* ebi */
        start local 6 // io.ebean.bean.EntityBeanIntercept ebi
         3: .line 752
            aload 5 /* ebis */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 6 /* ebi */
            invokevirtual io.ebean.bean.EntityBeanIntercept.getOwner:()Lio/ebean/bean/EntityBean;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.cacheKeyForBean:(Lio/ebean/bean/EntityBean;)Ljava/lang/String;
            aload 6 /* ebi */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // io.ebean.bean.EntityBeanIntercept ebi
         4: .line 751
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 756
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.getBeanCache:()Lio/ebean/cache/ServerCache;
            aload 5 /* ebis */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface io.ebean.cache.ServerCache.getAll:(Ljava/util/Set;)Ljava/util/Map;
            astore 6 /* hits */
        start local 6 // java.util.Map hits
         6: .line 758
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 8
         7: .line 759
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            ldc "   MLOAD {}({}) - got hits ({})"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 5 /* ebis */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            aastore
            dup
            iconst_2
            aload 6 /* hits */
            invokeinterface java.util.Map.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 762
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp java.util.List io.ebean.bean.PersistenceContext int java.lang.String java.util.Map java.util.Map
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 7 /* loaded */
        start local 7 // java.util.Set loaded
         9: .line 764
            aload 6 /* hits */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8 /* iterator */
        start local 8 // java.util.Iterator iterator
        10: .line 765
            goto 24
        11: .line 766
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 8 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 9 /* hit */
        start local 9 // java.util.Map$Entry hit
        12: .line 768
            aload 9 /* hit */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            astore 10 /* key */
        start local 10 // java.lang.Object key
        13: .line 769
            aload 5 /* ebis */
            aload 10 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebean.bean.EntityBeanIntercept
            astore 11 /* ebi */
        start local 11 // io.ebean.bean.EntityBeanIntercept ebi
        14: .line 770
            aload 9 /* hit */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.ebeaninternal.server.cache.CachedBeanData
            astore 12 /* cacheData */
        start local 12 // io.ebeaninternal.server.cache.CachedBeanData cacheData
        15: .line 772
            iload 3 /* lazyLoadProperty */
            iconst_m1
            if_icmple 20
            aload 12 /* cacheData */
            aload 4 /* propertyName */
            invokevirtual io.ebeaninternal.server.cache.CachedBeanData.isLoaded:(Ljava/lang/String;)Z
            ifne 20
        16: .line 773
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 18
        17: .line 774
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            ldc "   load {}({}) - cache miss on property({})"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 10 /* key */
            aastore
            dup
            iconst_2
            aload 4 /* propertyName */
            aastore
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
        18: .line 776
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp java.util.List io.ebean.bean.PersistenceContext int java.lang.String java.util.Map java.util.Map java.util.Set java.util.Iterator java.util.Map$Entry java.lang.Object io.ebean.bean.EntityBeanIntercept io.ebeaninternal.server.cache.CachedBeanData
      StackMap stack:
            aload 8 /* iterator */
            invokeinterface java.util.Iterator.remove:()V
        19: .line 778
            goto 24
        20: .line 779
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 11 /* ebi */
            invokevirtual io.ebean.bean.EntityBeanIntercept.getOwner:()Lio/ebean/bean/EntityBean;
            aload 12 /* cacheData */
            aload 2 /* context */
            invokestatic io.ebeaninternal.server.cache.CachedBeanDataToBean.load:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebean/bean/EntityBean;Lio/ebeaninternal/server/cache/CachedBeanData;Lio/ebean/bean/PersistenceContext;)V
        21: .line 780
            aload 7 /* loaded */
            aload 11 /* ebi */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        22: .line 781
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 24
        23: .line 782
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            ldc "   load {}({}) - hit"
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aload 10 /* key */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 12 // io.ebeaninternal.server.cache.CachedBeanData cacheData
        end local 11 // io.ebean.bean.EntityBeanIntercept ebi
        end local 10 // java.lang.Object key
        end local 9 // java.util.Map$Entry hit
        24: .line 765
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp java.util.List io.ebean.bean.PersistenceContext int java.lang.String java.util.Map java.util.Map java.util.Set java.util.Iterator
      StackMap stack:
            aload 8 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        25: .line 787
            aload 5 /* ebis */
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 27
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 27
        26: .line 788
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            ldc "   load {}({}) - cache miss"
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aload 5 /* ebis */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        27: .line 791
      StackMap locals:
      StackMap stack:
            aload 7 /* loaded */
            areturn
        end local 8 // java.util.Iterator iterator
        end local 7 // java.util.Set loaded
        end local 6 // java.util.Map hits
        end local 5 // java.util.Map ebis
        end local 4 // java.lang.String propertyName
        end local 3 // int lazyLoadProperty
        end local 2 // io.ebean.bean.PersistenceContext context
        end local 1 // java.util.List list
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   28     0              this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0   28     1              list  Ljava/util/List<Lio/ebean/bean/EntityBeanIntercept;>;
            0   28     2           context  Lio/ebean/bean/PersistenceContext;
            0   28     3  lazyLoadProperty  I
            0   28     4      propertyName  Ljava/lang/String;
            1   28     5              ebis  Ljava/util/Map<Ljava/lang/Object;Lio/ebean/bean/EntityBeanIntercept;>;
            3    4     6               ebi  Lio/ebean/bean/EntityBeanIntercept;
            6   28     6              hits  Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
            9   28     7            loaded  Ljava/util/Set<Lio/ebean/bean/EntityBeanIntercept;>;
           10   28     8          iterator  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/Object;Ljava/lang/Object;>;>;
           12   24     9               hit  Ljava/util/Map$Entry<Ljava/lang/Object;Ljava/lang/Object;>;
           13   24    10               key  Ljava/lang/Object;
           14   24    11               ebi  Lio/ebean/bean/EntityBeanIntercept;
           15   24    12         cacheData  Lio/ebeaninternal/server/cache/CachedBeanData;
    Signature: (Ljava/util/List<Lio/ebean/bean/EntityBeanIntercept;>;Lio/ebean/bean/PersistenceContext;ILjava/lang/String;)Ljava/util/Set<Lio/ebean/bean/EntityBeanIntercept;>;
    MethodParameters:
                  Name  Flags
      list              
      context           
      lazyLoadProperty  
      propertyName      

  boolean beanCacheLoad(io.ebean.bean.EntityBean, io.ebean.bean.EntityBeanIntercept, java.lang.String, io.ebean.bean.PersistenceContext);
    descriptor: (Lio/ebean/bean/EntityBean;Lio/ebean/bean/EntityBeanIntercept;Ljava/lang/String;Lio/ebean/bean/PersistenceContext;)Z
    flags: (0x0000) 
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // io.ebean.bean.EntityBean bean
        start local 2 // io.ebean.bean.EntityBeanIntercept ebi
        start local 3 // java.lang.String key
        start local 4 // io.ebean.bean.PersistenceContext context
         0: .line 799
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.getBeanCache:()Lio/ebean/cache/ServerCache;
            aload 3 /* key */
            invokeinterface io.ebean.cache.ServerCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebeaninternal.server.cache.CachedBeanData
            astore 5 /* cacheData */
        start local 5 // io.ebeaninternal.server.cache.CachedBeanData cacheData
         1: .line 800
            aload 5 /* cacheData */
            ifnonnull 5
         2: .line 801
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 4
         3: .line 802
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            ldc "   LOAD {}({}) - cache miss"
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aload 3 /* key */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 804
      StackMap locals: io.ebeaninternal.server.cache.CachedBeanData
      StackMap stack:
            iconst_0
            ireturn
         5: .line 806
      StackMap locals:
      StackMap stack:
            aload 2 /* ebi */
            invokevirtual io.ebean.bean.EntityBeanIntercept.getLazyLoadPropertyIndex:()I
            istore 6 /* lazyLoadProperty */
        start local 6 // int lazyLoadProperty
         6: .line 807
            iload 6 /* lazyLoadProperty */
            iconst_m1
            if_icmple 10
            aload 5 /* cacheData */
            aload 2 /* ebi */
            invokevirtual io.ebean.bean.EntityBeanIntercept.getLazyLoadProperty:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.cache.CachedBeanData.isLoaded:(Ljava/lang/String;)Z
            ifne 10
         7: .line 808
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 9
         8: .line 809
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            ldc "   LOAD {}({}) - cache miss on property({})"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 3 /* key */
            aastore
            dup
            iconst_2
            aload 2 /* ebi */
            invokevirtual io.ebean.bean.EntityBeanIntercept.getLazyLoadProperty:()Ljava/lang/String;
            aastore
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 811
      StackMap locals: int
      StackMap stack:
            iconst_0
            ireturn
        10: .line 814
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* bean */
            aload 5 /* cacheData */
            aload 4 /* context */
            invokestatic io.ebeaninternal.server.cache.CachedBeanDataToBean.load:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebean/bean/EntityBean;Lio/ebeaninternal/server/cache/CachedBeanData;Lio/ebean/bean/PersistenceContext;)V
        11: .line 815
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 13
        12: .line 816
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            ldc "   LOAD {}({}) - hit"
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aload 3 /* key */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 818
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // int lazyLoadProperty
        end local 5 // io.ebeaninternal.server.cache.CachedBeanData cacheData
        end local 4 // io.ebean.bean.PersistenceContext context
        end local 3 // java.lang.String key
        end local 2 // io.ebean.bean.EntityBeanIntercept ebi
        end local 1 // io.ebean.bean.EntityBean bean
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   14     0              this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0   14     1              bean  Lio/ebean/bean/EntityBean;
            0   14     2               ebi  Lio/ebean/bean/EntityBeanIntercept;
            0   14     3               key  Ljava/lang/String;
            0   14     4           context  Lio/ebean/bean/PersistenceContext;
            1   14     5         cacheData  Lio/ebeaninternal/server/cache/CachedBeanData;
            6   14     6  lazyLoadProperty  I
    MethodParameters:
         Name  Flags
      bean     
      ebi      
      key      
      context  

  void cacheUpdateQuery(boolean, io.ebeaninternal.api.SpiTransaction);
    descriptor: (ZLio/ebeaninternal/api/SpiTransaction;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // boolean update
        start local 2 // io.ebeaninternal.api.SpiTransaction transaction
         0: .line 822
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.invalidateQueryCache:Z
            ifne 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheNotifyOnAll:Z
            ifne 1
            iload 1 /* update */
            ifne 4
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheNotifyOnDelete:Z
            ifeq 4
         1: .line 823
      StackMap locals:
      StackMap stack:
            aload 2 /* transaction */
            invokeinterface io.ebeaninternal.api.SpiTransaction.getEvent:()Lio/ebeaninternal/api/TransactionEvent;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getBaseTable:()Ljava/lang/String;
            iconst_0
            iload 1 /* update */
            iload 1 /* update */
            ifeq 2
            iconst_0
            goto 3
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp int io.ebeaninternal.api.SpiTransaction
      StackMap stack: io.ebeaninternal.api.TransactionEvent java.lang.String int int
         2: iconst_1
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp int io.ebeaninternal.api.SpiTransaction
      StackMap stack: io.ebeaninternal.api.TransactionEvent java.lang.String int int int
         3: invokevirtual io.ebeaninternal.api.TransactionEvent.add:(Ljava/lang/String;ZZZ)V
         4: .line 825
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.ebeaninternal.api.SpiTransaction transaction
        end local 1 // boolean update
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    5     1       update  Z
            0    5     2  transaction  Lio/ebeaninternal/api/SpiTransaction;
    MethodParameters:
             Name  Flags
      update       
      transaction  

  void persistDeleteIds(java.util.Collection<java.lang.Object>, io.ebeaninternal.server.cache.CacheChangeSet);
    descriptor: (Ljava/util/Collection;Lio/ebeaninternal/server/cache/CacheChangeSet;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.util.Collection ids
        start local 2 // io.ebeaninternal.server.cache.CacheChangeSet changeSet
         0: .line 831
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.invalidateQueryCache:Z
            ifeq 3
         1: .line 832
            aload 2 /* changeSet */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.cache.CacheChangeSet.addInvalidate:(Lio/ebeaninternal/server/deploy/BeanDescriptor;)V
         2: .line 833
            goto 7
         3: .line 834
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* changeSet */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryCacheClear:(Lio/ebeaninternal/server/cache/CacheChangeSet;)V
         4: .line 835
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCache:Lio/ebean/cache/ServerCache;
            ifnull 6
         5: .line 836
            aload 2 /* changeSet */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* ids */
            invokevirtual io.ebeaninternal.server.cache.CacheChangeSet.addBeanRemoveMany:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Ljava/util/Collection;)V
         6: .line 838
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            aconst_null
            aload 2 /* changeSet */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheDeleteImported:(ZLio/ebean/bean/EntityBean;Lio/ebeaninternal/server/cache/CacheChangeSet;)V
         7: .line 840
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.ebeaninternal.server.cache.CacheChangeSet changeSet
        end local 1 // java.util.Collection ids
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    8     1        ids  Ljava/util/Collection<Ljava/lang/Object;>;
            0    8     2  changeSet  Lio/ebeaninternal/server/cache/CacheChangeSet;
    Signature: (Ljava/util/Collection<Ljava/lang/Object;>;Lio/ebeaninternal/server/cache/CacheChangeSet;)V
    MethodParameters:
           Name  Flags
      ids        
      changeSet  

  void persistDelete(, io.ebeaninternal.server.core.PersistRequestBean<T>, io.ebeaninternal.server.cache.CacheChangeSet);
    descriptor: (Ljava/lang/Object;Lio/ebeaninternal/server/core/PersistRequestBean;Lio/ebeaninternal/server/cache/CacheChangeSet;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.lang.Object id
        start local 2 // io.ebeaninternal.server.core.PersistRequestBean deleteRequest
        start local 3 // io.ebeaninternal.server.cache.CacheChangeSet changeSet
         0: .line 846
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.invalidateQueryCache:Z
            ifeq 3
         1: .line 847
            aload 3 /* changeSet */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.cache.CacheChangeSet.addInvalidate:(Lio/ebeaninternal/server/deploy/BeanDescriptor;)V
         2: .line 848
            goto 7
         3: .line 849
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* changeSet */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryCacheClear:(Lio/ebeaninternal/server/cache/CacheChangeSet;)V
         4: .line 850
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCache:Lio/ebean/cache/ServerCache;
            ifnull 6
         5: .line 851
            aload 3 /* changeSet */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* id */
            invokevirtual io.ebeaninternal.server.cache.CacheChangeSet.addBeanRemove:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Ljava/lang/Object;)V
         6: .line 853
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            aload 2 /* deleteRequest */
            invokevirtual io.ebeaninternal.server.core.PersistRequestBean.getEntityBean:()Lio/ebean/bean/EntityBean;
            aload 3 /* changeSet */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheDeleteImported:(ZLio/ebean/bean/EntityBean;Lio/ebeaninternal/server/cache/CacheChangeSet;)V
         7: .line 855
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.ebeaninternal.server.cache.CacheChangeSet changeSet
        end local 2 // io.ebeaninternal.server.core.PersistRequestBean deleteRequest
        end local 1 // java.lang.Object id
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    8     1             id  Ljava/lang/Object;
            0    8     2  deleteRequest  Lio/ebeaninternal/server/core/PersistRequestBean<TT;>;
            0    8     3      changeSet  Lio/ebeaninternal/server/cache/CacheChangeSet;
    Signature: (Ljava/lang/Object;Lio/ebeaninternal/server/core/PersistRequestBean<TT;>;Lio/ebeaninternal/server/cache/CacheChangeSet;)V
    MethodParameters:
               Name  Flags
      id             
      deleteRequest  
      changeSet      

  void persistInsert(io.ebeaninternal.server.core.PersistRequestBean<T>, io.ebeaninternal.server.cache.CacheChangeSet);
    descriptor: (Lio/ebeaninternal/server/core/PersistRequestBean;Lio/ebeaninternal/server/cache/CacheChangeSet;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // io.ebeaninternal.server.core.PersistRequestBean insertRequest
        start local 2 // io.ebeaninternal.server.cache.CacheChangeSet changeSet
         0: .line 861
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.invalidateQueryCache:Z
            ifeq 3
         1: .line 862
            aload 2 /* changeSet */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.cache.CacheChangeSet.addInvalidate:(Lio/ebeaninternal/server/deploy/BeanDescriptor;)V
         2: .line 863
            goto 6
         3: .line 864
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* changeSet */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryCacheClear:(Lio/ebeaninternal/server/cache/CacheChangeSet;)V
         4: .line 865
            aload 0 /* this */
            iconst_0
            aload 1 /* insertRequest */
            invokevirtual io.ebeaninternal.server.core.PersistRequestBean.getEntityBean:()Lio/ebean/bean/EntityBean;
            aload 2 /* changeSet */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheDeleteImported:(ZLio/ebean/bean/EntityBean;Lio/ebeaninternal/server/cache/CacheChangeSet;)V
         5: .line 866
            aload 2 /* changeSet */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getBaseTable:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.cache.CacheChangeSet.addBeanInsert:(Ljava/lang/String;)V
         6: .line 868
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.ebeaninternal.server.cache.CacheChangeSet changeSet
        end local 1 // io.ebeaninternal.server.core.PersistRequestBean insertRequest
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    7     1  insertRequest  Lio/ebeaninternal/server/core/PersistRequestBean<TT;>;
            0    7     2      changeSet  Lio/ebeaninternal/server/cache/CacheChangeSet;
    Signature: (Lio/ebeaninternal/server/core/PersistRequestBean<TT;>;Lio/ebeaninternal/server/cache/CacheChangeSet;)V
    MethodParameters:
               Name  Flags
      insertRequest  
      changeSet      

  private void cacheDeleteImported(boolean, io.ebean.bean.EntityBean, io.ebeaninternal.server.cache.CacheChangeSet);
    descriptor: (ZLio/ebean/bean/EntityBean;Lio/ebeaninternal/server/cache/CacheChangeSet;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // boolean clear
        start local 2 // io.ebean.bean.EntityBean entityBean
        start local 3 // io.ebeaninternal.server.cache.CacheChangeSet changeSet
         0: .line 871
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.propertiesOneImported:[Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 4
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp int io.ebean.bean.EntityBean io.ebeaninternal.server.cache.CacheChangeSet top int int io.ebeaninternal.server.deploy.BeanPropertyAssocOne[]
      StackMap stack:
         1: aload 7
            iload 5
            aaload
            astore 4 /* imported */
        start local 4 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne imported
         2: .line 872
            aload 4 /* imported */
            iload 1 /* clear */
            aload 2 /* entityBean */
            aload 3 /* changeSet */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocOne.cacheDelete:(ZLio/ebean/bean/EntityBean;Lio/ebeaninternal/server/cache/CacheChangeSet;)V
        end local 4 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne imported
         3: .line 871
            iinc 5 1
      StackMap locals:
      StackMap stack:
         4: iload 5
            iload 6
            if_icmplt 1
         5: .line 874
            return
        end local 3 // io.ebeaninternal.server.cache.CacheChangeSet changeSet
        end local 2 // io.ebean.bean.EntityBean entityBean
        end local 1 // boolean clear
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    6     1       clear  Z
            0    6     2  entityBean  Lio/ebean/bean/EntityBean;
            0    6     3   changeSet  Lio/ebeaninternal/server/cache/CacheChangeSet;
            2    3     4    imported  Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne<*>;
    MethodParameters:
            Name  Flags
      clear       
      entityBean  
      changeSet   

  void persistUpdate(, io.ebeaninternal.server.core.PersistRequestBean<T>, io.ebeaninternal.server.cache.CacheChangeSet);
    descriptor: (Ljava/lang/Object;Lio/ebeaninternal/server/core/PersistRequestBean;Lio/ebeaninternal/server/cache/CacheChangeSet;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.lang.Object id
        start local 2 // io.ebeaninternal.server.core.PersistRequestBean updateRequest
        start local 3 // io.ebeaninternal.server.cache.CacheChangeSet changeSet
         0: .line 880
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.invalidateQueryCache:Z
            ifeq 3
         1: .line 881
            aload 3 /* changeSet */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.cache.CacheChangeSet.addInvalidate:(Lio/ebeaninternal/server/deploy/BeanDescriptor;)V
         2: .line 883
            goto 16
         3: .line 884
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* changeSet */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.queryCacheClear:(Lio/ebeaninternal/server/cache/CacheChangeSet;)V
         4: .line 885
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanCache:Lio/ebean/cache/ServerCache;
            ifnonnull 6
         5: .line 887
            return
         6: .line 889
      StackMap locals:
      StackMap stack:
            aload 2 /* updateRequest */
            invokevirtual io.ebeaninternal.server.core.PersistRequestBean.getUpdatedManyForL2Cache:()Ljava/util/List;
            astore 4 /* manyCollections */
        start local 4 // java.util.List manyCollections
         7: .line 890
            aload 4 /* manyCollections */
            ifnull 15
         8: .line 891
            aload 4 /* manyCollections */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 14
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp java.lang.Object io.ebeaninternal.server.core.PersistRequestBean io.ebeaninternal.server.cache.CacheChangeSet java.util.List top java.util.Iterator
      StackMap stack:
         9: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.ebeaninternal.server.deploy.BeanPropertyAssocMany
            astore 5 /* many */
        start local 5 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany many
        10: .line 892
            aload 5 /* many */
            aload 2 /* updateRequest */
            invokevirtual io.ebeaninternal.server.core.PersistRequestBean.getEntityBean:()Lio/ebean/bean/EntityBean;
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getValue:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            astore 7 /* details */
        start local 7 // java.lang.Object details
        11: .line 893
            aload 0 /* this */
            aload 5 /* many */
            aload 7 /* details */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.createManyIds:(Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;Ljava/lang/Object;)Lio/ebeaninternal/server/cache/CachedManyIds;
            astore 8 /* entry */
        start local 8 // io.ebeaninternal.server.cache.CachedManyIds entry
        12: .line 894
            aload 8 /* entry */
            ifnull 14
        13: .line 895
            aload 3 /* changeSet */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 5 /* many */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getName:()Ljava/lang/String;
            aload 1 /* id */
            aload 8 /* entry */
            invokevirtual io.ebeaninternal.server.cache.CacheChangeSet.addManyPut:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Ljava/lang/String;Ljava/lang/Object;Lio/ebeaninternal/server/cache/CachedManyIds;)V
        end local 8 // io.ebeaninternal.server.cache.CachedManyIds entry
        end local 7 // java.lang.Object details
        end local 5 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany many
        14: .line 891
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        15: .line 899
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp java.lang.Object io.ebeaninternal.server.core.PersistRequestBean io.ebeaninternal.server.cache.CacheChangeSet java.util.List
      StackMap stack:
            aload 2 /* updateRequest */
            aload 3 /* changeSet */
            invokevirtual io.ebeaninternal.server.core.PersistRequestBean.addBeanUpdate:(Lio/ebeaninternal/server/cache/CacheChangeSet;)V
        end local 4 // java.util.List manyCollections
        16: .line 901
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.ebeaninternal.server.cache.CacheChangeSet changeSet
        end local 2 // io.ebeaninternal.server.core.PersistRequestBean updateRequest
        end local 1 // java.lang.Object id
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   17     0             this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0   17     1               id  Ljava/lang/Object;
            0   17     2    updateRequest  Lio/ebeaninternal/server/core/PersistRequestBean<TT;>;
            0   17     3        changeSet  Lio/ebeaninternal/server/cache/CacheChangeSet;
            7   16     4  manyCollections  Ljava/util/List<Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<*>;>;
           10   14     5             many  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<*>;
           11   14     7          details  Ljava/lang/Object;
           12   14     8            entry  Lio/ebeaninternal/server/cache/CachedManyIds;
    Signature: (Ljava/lang/Object;Lio/ebeaninternal/server/core/PersistRequestBean<TT;>;Lio/ebeaninternal/server/cache/CacheChangeSet;)V
    MethodParameters:
               Name  Flags
      id             
      updateRequest  
      changeSet      

  void persistTableIUD(io.ebeaninternal.api.TransactionEventTable$TableIUD, io.ebeaninternal.server.cache.CacheChangeSet);
    descriptor: (Lio/ebeaninternal/api/TransactionEventTable$TableIUD;Lio/ebeaninternal/server/cache/CacheChangeSet;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // io.ebeaninternal.api.TransactionEventTable$TableIUD tableIUD
        start local 2 // io.ebeaninternal.server.cache.CacheChangeSet changeSet
         0: .line 907
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.invalidateQueryCache:Z
            ifeq 3
         1: .line 908
            aload 2 /* changeSet */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.cache.CacheChangeSet.addInvalidate:(Lio/ebeaninternal/server/deploy/BeanDescriptor;)V
         2: .line 909
            return
         3: .line 911
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.noCaching:Z
            ifeq 5
         4: .line 912
            return
         5: .line 914
      StackMap locals:
      StackMap stack:
            aload 2 /* changeSet */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.cache.CacheChangeSet.addClearQuery:(Lio/ebeaninternal/server/deploy/BeanDescriptor;)V
         6: .line 916
            aload 1 /* tableIUD */
            invokevirtual io.ebeaninternal.api.TransactionEventTable$TableIUD.isUpdateOrDelete:()Z
            ifeq 8
         7: .line 917
            aload 2 /* changeSet */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.cache.CacheChangeSet.addClearBean:(Lio/ebeaninternal/server/deploy/BeanDescriptor;)V
         8: .line 920
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.propertiesOneImported:[Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 12
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp io.ebeaninternal.api.TransactionEventTable$TableIUD io.ebeaninternal.server.cache.CacheChangeSet top int int io.ebeaninternal.server.deploy.BeanPropertyAssocOne[]
      StackMap stack:
         9: aload 6
            iload 4
            aaload
            astore 3 /* imported */
        start local 3 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne imported
        10: .line 921
            aload 3 /* imported */
            aload 2 /* changeSet */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocOne.cacheClear:(Lio/ebeaninternal/server/cache/CacheChangeSet;)V
        end local 3 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne imported
        11: .line 920
            iinc 4 1
      StackMap locals:
      StackMap stack:
        12: iload 4
            iload 5
            if_icmplt 9
        13: .line 923
            return
        end local 2 // io.ebeaninternal.server.cache.CacheChangeSet changeSet
        end local 1 // io.ebeaninternal.api.TransactionEventTable$TableIUD tableIUD
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0   14     1   tableIUD  Lio/ebeaninternal/api/TransactionEventTable$TableIUD;
            0   14     2  changeSet  Lio/ebeaninternal/server/cache/CacheChangeSet;
           10   11     3   imported  Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne<*>;
    MethodParameters:
           Name  Flags
      tableIUD   
      changeSet  

  void cacheNaturalKeyPut(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.lang.String key
        start local 2 // java.lang.String newKey
         0: .line 926
            aload 2 /* newKey */
            ifnull 2
         1: .line 927
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.naturalKeyCache:Lio/ebean/cache/ServerCache;
            aload 2 /* newKey */
            aload 1 /* key */
            invokeinterface io.ebean.cache.ServerCache.put:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 929
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String newKey
        end local 1 // java.lang.String key
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0    3     1     key  Ljava/lang/String;
            0    3     2  newKey  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      key     
      newKey  

  void cacheBeanUpdate(java.lang.String, java.util.Map<java.lang.String, java.lang.Object>, boolean, );
    descriptor: (Ljava/lang/String;Ljava/util/Map;ZJ)V
    flags: (0x0000) 
    Code:
      stack=7, locals=11, args_size=5
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
        start local 1 // java.lang.String key
        start local 2 // java.util.Map changes
        start local 3 // boolean updateNaturalKey
        start local 4 // long version
         0: .line 936
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.getBeanCache:()Lio/ebean/cache/ServerCache;
            astore 6 /* cache */
        start local 6 // io.ebean.cache.ServerCache cache
         1: .line 937
            aload 6 /* cache */
            aload 1 /* key */
            invokeinterface io.ebean.cache.ServerCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebeaninternal.server.cache.CachedBeanData
            astore 7 /* existingData */
        start local 7 // io.ebeaninternal.server.cache.CachedBeanData existingData
         2: .line 938
            aload 7 /* existingData */
            ifnull 21
         3: .line 939
            aload 7 /* existingData */
            invokevirtual io.ebeaninternal.server.cache.CachedBeanData.getVersion:()J
            lstore 8 /* currentVersion */
        start local 8 // long currentVersion
         4: .line 940
            lload 4 /* version */
            lconst_0
            lcmp
            ifle 9
            lload 4 /* version */
            lload 8 /* currentVersion */
            lcmp
            ifge 9
         5: .line 941
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 7
         6: .line 942
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            ldc "   REMOVE {}({}) - version conflict old:{} new:{}"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* key */
            aastore
            dup
            iconst_2
            lload 8 /* currentVersion */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
            lload 4 /* version */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 944
      StackMap locals: io.ebean.cache.ServerCache io.ebeaninternal.server.cache.CachedBeanData long
      StackMap stack:
            aload 6 /* cache */
            aload 1 /* key */
            invokeinterface io.ebean.cache.ServerCache.remove:(Ljava/lang/Object;)V
         8: .line 945
            goto 15
         9: .line 946
      StackMap locals:
      StackMap stack:
            lload 4 /* version */
            lconst_0
            lcmp
            ifne 11
        10: .line 947
            lload 8 /* currentVersion */
            lstore 4 /* version */
        11: .line 949
      StackMap locals:
      StackMap stack:
            aload 7 /* existingData */
            aload 2 /* changes */
            lload 4 /* version */
            invokevirtual io.ebeaninternal.server.cache.CachedBeanData.update:(Ljava/util/Map;J)Lio/ebeaninternal/server/cache/CachedBeanData;
            astore 10 /* newData */
        start local 10 // io.ebeaninternal.server.cache.CachedBeanData newData
        12: .line 950
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 14
        13: .line 951
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.beanLog:Lorg/slf4j/Logger;
            ldc "   UPDATE {}({})  changes:{}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* key */
            aastore
            dup
            iconst_2
            aload 2 /* changes */
            aastore
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        14: .line 953
      StackMap locals: io.ebeaninternal.server.cache.CachedBeanData
      StackMap stack:
            aload 6 /* cache */
            aload 1 /* key */
            aload 10 /* newData */
            invokeinterface io.ebean.cache.ServerCache.put:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 10 // io.ebeaninternal.server.cache.CachedBeanData newData
        15: .line 956
      StackMap locals:
      StackMap stack:
            iload 3 /* updateNaturalKey */
            ifeq 21
        16: .line 957
            aload 0 /* this */
            aload 7 /* existingData */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.calculateNaturalKey:(Lio/ebeaninternal/server/cache/CachedBeanData;)Ljava/lang/String;
            astore 10 /* oldKey */
        start local 10 // java.lang.Object oldKey
        17: .line 958
            aload 10 /* oldKey */
            ifnull 21
        18: .line 959
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.natLog:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 20
        19: .line 960
            getstatic io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.natLog:Lorg/slf4j/Logger;
            ldc ".. update {} REMOVE({}) - old key for ({})"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.cacheName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 10 /* oldKey */
            aastore
            dup
            iconst_2
            aload 1 /* key */
            aastore
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        20: .line 962
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp.naturalKeyCache:Lio/ebean/cache/ServerCache;
            aload 10 /* oldKey */
            invokeinterface io.ebean.cache.ServerCache.remove:(Ljava/lang/Object;)V
        end local 10 // java.lang.Object oldKey
        end local 8 // long currentVersion
        21: .line 966
      StackMap locals:
      StackMap stack:
            return
        end local 7 // io.ebeaninternal.server.cache.CachedBeanData existingData
        end local 6 // io.ebean.cache.ServerCache cache
        end local 4 // long version
        end local 3 // boolean updateNaturalKey
        end local 2 // java.util.Map changes
        end local 1 // java.lang.String key
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorCacheHelp this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   22     0              this  Lio/ebeaninternal/server/deploy/BeanDescriptorCacheHelp<TT;>;
            0   22     1               key  Ljava/lang/String;
            0   22     2           changes  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            0   22     3  updateNaturalKey  Z
            0   22     4           version  J
            1   22     6             cache  Lio/ebean/cache/ServerCache;
            2   22     7      existingData  Lio/ebeaninternal/server/cache/CachedBeanData;
            4   21     8    currentVersion  J
           12   15    10           newData  Lio/ebeaninternal/server/cache/CachedBeanData;
           17   21    10            oldKey  Ljava/lang/Object;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;ZJ)V
    MethodParameters:
                  Name  Flags
      key               
      changes           
      updateNaturalKey  
      version           
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "BeanDescriptorCacheHelp.java"
InnerClasses:
  public TableIUD = io.ebeaninternal.api.TransactionEventTable$TableIUD of io.ebeaninternal.api.TransactionEventTable
  public final Type = io.ebeaninternal.server.core.PersistRequest$Type of io.ebeaninternal.server.core.PersistRequest
  public abstract Entry = java.util.Map$Entry of java.util.Map