class io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer implements io.ebean.bean.BeanLoader, io.ebeaninternal.api.LoadBeanBuffer
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer
  super_class: java.lang.Object
{
  private final java.util.concurrent.locks.ReentrantLock bufferLock;
    descriptor: Ljava/util/concurrent/locks/ReentrantLock;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.ebeaninternal.server.loadcontext.DLoadBeanContext context;
    descriptor: Lio/ebeaninternal/server/loadcontext/DLoadBeanContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int batchSize;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<io.ebean.bean.EntityBeanIntercept> list;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lio/ebean/bean/EntityBeanIntercept;>;

  private io.ebean.bean.PersistenceContext persistenceContext;
    descriptor: Lio/ebean/bean/PersistenceContext;
    flags: (0x0002) ACC_PRIVATE

  void <init>(io.ebeaninternal.server.loadcontext.DLoadBeanContext, int);
    descriptor: (Lio/ebeaninternal/server/loadcontext/DLoadBeanContext;I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
        start local 1 // io.ebeaninternal.server.loadcontext.DLoadBeanContext context
        start local 2 // int batchSize
         0: .line 129
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 123
            aload 0 /* this */
            new java.util.concurrent.locks.ReentrantLock
            dup
            invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
            putfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.bufferLock:Ljava/util/concurrent/locks/ReentrantLock;
         2: .line 130
            aload 0 /* this */
            aload 1 /* context */
            putfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.context:Lio/ebeaninternal/server/loadcontext/DLoadBeanContext;
         3: .line 131
            aload 0 /* this */
            iload 2 /* batchSize */
            putfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.batchSize:I
         4: .line 132
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iload 2 /* batchSize */
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.list:Ljava/util/List;
         5: .line 133
            return
        end local 2 // int batchSize
        end local 1 // io.ebeaninternal.server.loadcontext.DLoadBeanContext context
        end local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lio/ebeaninternal/server/loadcontext/DLoadBeanContext$LoadBuffer;
            0    6     1    context  Lio/ebeaninternal/server/loadcontext/DLoadBeanContext;
            0    6     2  batchSize  I
    MethodParameters:
           Name  Flags
      context    
      batchSize  

  public java.util.concurrent.locks.Lock lock();
    descriptor: ()Ljava/util/concurrent/locks/Lock;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
         0: .line 137
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.bufferLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
         1: .line 138
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.bufferLock:Ljava/util/concurrent/locks/ReentrantLock;
            areturn
        end local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/ebeaninternal/server/loadcontext/DLoadBeanContext$LoadBuffer;

  public int getBatchSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
         0: .line 143
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.batchSize:I
            ireturn
        end local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/loadcontext/DLoadBeanContext$LoadBuffer;

  public boolean isFull();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
         0: .line 150
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.batchSize:I
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.list:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/ebeaninternal/server/loadcontext/DLoadBeanContext$LoadBuffer;

  public void add(io.ebean.bean.EntityBeanIntercept);
    descriptor: (Lio/ebean/bean/EntityBeanIntercept;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
        start local 1 // io.ebean.bean.EntityBeanIntercept ebi
         0: .line 157
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.persistenceContext:Lio/ebean/bean/PersistenceContext;
            ifnonnull 2
         1: .line 159
            aload 0 /* this */
            aload 1 /* ebi */
            invokevirtual io.ebean.bean.EntityBeanIntercept.getPersistenceContext:()Lio/ebean/bean/PersistenceContext;
            putfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.persistenceContext:Lio/ebean/bean/PersistenceContext;
         2: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.list:Ljava/util/List;
            aload 1 /* ebi */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 162
            return
        end local 1 // io.ebean.bean.EntityBeanIntercept ebi
        end local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/ebeaninternal/server/loadcontext/DLoadBeanContext$LoadBuffer;
            0    4     1   ebi  Lio/ebean/bean/EntityBeanIntercept;
    MethodParameters:
      Name  Flags
      ebi   

  public java.util.List<io.ebean.bean.EntityBeanIntercept> getBatch();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
         0: .line 166
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.list:Ljava/util/List;
            areturn
        end local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/loadcontext/DLoadBeanContext$LoadBuffer;
    Signature: ()Ljava/util/List<Lio/ebean/bean/EntityBeanIntercept;>;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
         0: .line 171
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.context:Lio/ebeaninternal/server/loadcontext/DLoadBeanContext;
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext.serverName:Ljava/lang/String;
            areturn
        end local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/loadcontext/DLoadBeanContext$LoadBuffer;

  public java.lang.String getFullPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
         0: .line 176
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.context:Lio/ebeaninternal/server/loadcontext/DLoadBeanContext;
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext.fullPath:Ljava/lang/String;
            areturn
        end local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/loadcontext/DLoadBeanContext$LoadBuffer;

  public io.ebeaninternal.server.deploy.BeanDescriptor<?> getBeanDescriptor();
    descriptor: ()Lio/ebeaninternal/server/deploy/BeanDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
         0: .line 181
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.context:Lio/ebeaninternal/server/loadcontext/DLoadBeanContext;
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            areturn
        end local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/loadcontext/DLoadBeanContext$LoadBuffer;
    Signature: ()Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;

  public io.ebean.bean.PersistenceContext getPersistenceContext();
    descriptor: ()Lio/ebean/bean/PersistenceContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
         0: .line 186
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.persistenceContext:Lio/ebean/bean/PersistenceContext;
            areturn
        end local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/loadcontext/DLoadBeanContext$LoadBuffer;

  public void configureQuery(io.ebeaninternal.api.SpiQuery<?>, java.lang.String);
    descriptor: (Lio/ebeaninternal/api/SpiQuery;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
        start local 1 // io.ebeaninternal.api.SpiQuery query
        start local 2 // java.lang.String lazyLoadProperty
         0: .line 191
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.context:Lio/ebeaninternal/server/loadcontext/DLoadBeanContext;
            aload 1 /* query */
            aload 2 /* lazyLoadProperty */
            invokevirtual io.ebeaninternal.server.loadcontext.DLoadBeanContext.configureQuery:(Lio/ebeaninternal/api/SpiQuery;Ljava/lang/String;)V
         1: .line 192
            return
        end local 2 // java.lang.String lazyLoadProperty
        end local 1 // io.ebeaninternal.api.SpiQuery query
        end local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lio/ebeaninternal/server/loadcontext/DLoadBeanContext$LoadBuffer;
            0    2     1             query  Lio/ebeaninternal/api/SpiQuery<*>;
            0    2     2  lazyLoadProperty  Ljava/lang/String;
    Signature: (Lio/ebeaninternal/api/SpiQuery<*>;Ljava/lang/String;)V
    MethodParameters:
                  Name  Flags
      query             
      lazyLoadProperty  

  public void loadBean(io.ebean.bean.EntityBeanIntercept);
    descriptor: (Lio/ebean/bean/EntityBeanIntercept;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
        start local 1 // io.ebean.bean.EntityBeanIntercept ebi
         0: .line 197
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.context:Lio/ebeaninternal/server/loadcontext/DLoadBeanContext;
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* ebi */
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.context:Lio/ebeaninternal/server/loadcontext/DLoadBeanContext;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.lazyLoadMany:(Lio/ebean/bean/EntityBeanIntercept;Lio/ebeaninternal/api/LoadBeanContext;)Z
            ifeq 2
         1: .line 199
            return
         2: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.context:Lio/ebeaninternal/server/loadcontext/DLoadBeanContext;
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext.hitCache:Z
            ifeq 7
         3: .line 203
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.context:Lio/ebeaninternal/server/loadcontext/DLoadBeanContext;
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.list:Ljava/util/List;
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.persistenceContext:Lio/ebean/bean/PersistenceContext;
            aload 1 /* ebi */
            invokevirtual io.ebean.bean.EntityBeanIntercept.getLazyLoadPropertyIndex:()I
            aload 1 /* ebi */
            invokevirtual io.ebean.bean.EntityBeanIntercept.getLazyLoadProperty:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.cacheBeanLoadAll:(Ljava/util/List;Lio/ebean/bean/PersistenceContext;ILjava/lang/String;)Ljava/util/Set;
            astore 2 /* hits */
        start local 2 // java.util.Set hits
         4: .line 204
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.list:Ljava/util/List;
            aload 2 /* hits */
            invokeinterface java.util.List.removeAll:(Ljava/util/Collection;)Z
            pop
         5: .line 205
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.list:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 6
            aload 2 /* hits */
            aload 1 /* ebi */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 207
      StackMap locals: java.util.Set
      StackMap stack:
            return
        end local 2 // java.util.Set hits
         7: .line 211
      StackMap locals:
      StackMap stack:
            new io.ebeaninternal.api.LoadBeanRequest
            dup
            aload 0 /* this */
            aload 1 /* ebi */
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.context:Lio/ebeaninternal/server/loadcontext/DLoadBeanContext;
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext.hitCache:Z
            invokespecial io.ebeaninternal.api.LoadBeanRequest.<init>:(Lio/ebeaninternal/api/LoadBeanBuffer;Lio/ebean/bean/EntityBeanIntercept;Z)V
            astore 2 /* req */
        start local 2 // io.ebeaninternal.api.LoadBeanRequest req
         8: .line 212
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.context:Lio/ebeaninternal/server/loadcontext/DLoadBeanContext;
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getEbeanServer:()Lio/ebeaninternal/api/SpiEbeanServer;
            aload 2 /* req */
            invokeinterface io.ebeaninternal.api.SpiEbeanServer.loadBean:(Lio/ebeaninternal/api/LoadBeanRequest;)V
         9: .line 213
            aload 0 /* this */
            getfield io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer.list:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
        10: .line 214
            return
        end local 2 // io.ebeaninternal.api.LoadBeanRequest req
        end local 1 // io.ebean.bean.EntityBeanIntercept ebi
        end local 0 // io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lio/ebeaninternal/server/loadcontext/DLoadBeanContext$LoadBuffer;
            0   11     1   ebi  Lio/ebean/bean/EntityBeanIntercept;
            4    7     2  hits  Ljava/util/Set<Lio/ebean/bean/EntityBeanIntercept;>;
            8   11     2   req  Lio/ebeaninternal/api/LoadBeanRequest;
    MethodParameters:
      Name  Flags
      ebi   
}
SourceFile: "DLoadBeanContext.java"
NestHost: io.ebeaninternal.server.loadcontext.DLoadBeanContext
InnerClasses:
  LoadBuffer = io.ebeaninternal.server.loadcontext.DLoadBeanContext$LoadBuffer of io.ebeaninternal.server.loadcontext.DLoadBeanContext