public class io.ebeaninternal.server.text.json.ReadJson implements io.ebeaninternal.api.json.SpiJsonReader
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.ebeaninternal.server.text.json.ReadJson
  super_class: java.lang.Object
{
  private final io.ebeaninternal.server.deploy.BeanDescriptor<?> rootDesc;
    descriptor: Lio/ebeaninternal/server/deploy/BeanDescriptor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;

  private final com.fasterxml.jackson.core.JsonParser parser;
    descriptor: Lcom/fasterxml/jackson/core/JsonParser;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.ebeaninternal.server.text.json.PathStack pathStack;
    descriptor: Lio/ebeaninternal/server/text/json/PathStack;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<java.lang.String, io.ebean.text.json.JsonReadBeanVisitor<?>> visitorMap;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/ebean/text/json/JsonReadBeanVisitor<*>;>;

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

  private final io.ebean.bean.PersistenceContext persistenceContext;
    descriptor: Lio/ebean/bean/PersistenceContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  public void <init>(io.ebeaninternal.server.deploy.BeanDescriptor<?>, com.fasterxml.jackson.core.JsonParser, io.ebean.text.json.JsonReadOptions, );
    descriptor: (Lio/ebeaninternal/server/deploy/BeanDescriptor;Lcom/fasterxml/jackson/core/JsonParser;Lio/ebean/text/json/JsonReadOptions;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // io.ebeaninternal.server.text.json.ReadJson this
        start local 1 // io.ebeaninternal.server.deploy.BeanDescriptor desc
        start local 2 // com.fasterxml.jackson.core.JsonParser parser
        start local 3 // io.ebean.text.json.JsonReadOptions readOptions
        start local 4 // java.lang.Object objectMapper
         0: .line 51
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 53
            aload 0 /* this */
            aload 1 /* desc */
            putfield io.ebeaninternal.server.text.json.ReadJson.rootDesc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
         2: .line 54
            aload 0 /* this */
            aload 2 /* parser */
            putfield io.ebeaninternal.server.text.json.ReadJson.parser:Lcom/fasterxml/jackson/core/JsonParser;
         3: .line 55
            aload 0 /* this */
            aload 4 /* objectMapper */
            putfield io.ebeaninternal.server.text.json.ReadJson.objectMapper:Ljava/lang/Object;
         4: .line 56
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* readOptions */
            invokevirtual io.ebeaninternal.server.text.json.ReadJson.initPersistenceContext:(Lio/ebean/text/json/JsonReadOptions;)Lio/ebean/bean/PersistenceContext;
            putfield io.ebeaninternal.server.text.json.ReadJson.persistenceContext:Lio/ebean/bean/PersistenceContext;
         5: .line 57
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* desc */
            aload 3 /* readOptions */
            invokevirtual io.ebeaninternal.server.text.json.ReadJson.initLoadContext:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebean/text/json/JsonReadOptions;)Lio/ebeaninternal/api/LoadContext;
            putfield io.ebeaninternal.server.text.json.ReadJson.loadContext:Lio/ebeaninternal/api/LoadContext;
         6: .line 60
            aload 0 /* this */
            aload 3 /* readOptions */
            ifnonnull 7
            aconst_null
            goto 8
      StackMap locals: io.ebeaninternal.server.text.json.ReadJson io.ebeaninternal.server.deploy.BeanDescriptor com.fasterxml.jackson.core.JsonParser io.ebean.text.json.JsonReadOptions java.lang.Object
      StackMap stack: io.ebeaninternal.server.text.json.ReadJson
         7: aload 3 /* readOptions */
            invokevirtual io.ebean.text.json.JsonReadOptions.getVisitorMap:()Ljava/util/Map;
      StackMap locals: io.ebeaninternal.server.text.json.ReadJson io.ebeaninternal.server.deploy.BeanDescriptor com.fasterxml.jackson.core.JsonParser io.ebean.text.json.JsonReadOptions java.lang.Object
      StackMap stack: io.ebeaninternal.server.text.json.ReadJson java.util.Map
         8: putfield io.ebeaninternal.server.text.json.ReadJson.visitorMap:Ljava/util/Map;
         9: .line 61
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.visitorMap:Ljava/util/Map;
            ifnonnull 10
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.loadContext:Lio/ebeaninternal/api/LoadContext;
            ifnonnull 10
            aconst_null
            goto 11
      StackMap locals:
      StackMap stack: io.ebeaninternal.server.text.json.ReadJson
        10: new io.ebeaninternal.server.text.json.PathStack
            dup
            invokespecial io.ebeaninternal.server.text.json.PathStack.<init>:()V
      StackMap locals: io.ebeaninternal.server.text.json.ReadJson io.ebeaninternal.server.deploy.BeanDescriptor com.fasterxml.jackson.core.JsonParser io.ebean.text.json.JsonReadOptions java.lang.Object
      StackMap stack: io.ebeaninternal.server.text.json.ReadJson io.ebeaninternal.server.text.json.PathStack
        11: putfield io.ebeaninternal.server.text.json.ReadJson.pathStack:Lio/ebeaninternal/server/text/json/PathStack;
        12: .line 62
            return
        end local 4 // java.lang.Object objectMapper
        end local 3 // io.ebean.text.json.JsonReadOptions readOptions
        end local 2 // com.fasterxml.jackson.core.JsonParser parser
        end local 1 // io.ebeaninternal.server.deploy.BeanDescriptor desc
        end local 0 // io.ebeaninternal.server.text.json.ReadJson this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lio/ebeaninternal/server/text/json/ReadJson;
            0   13     1          desc  Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
            0   13     2        parser  Lcom/fasterxml/jackson/core/JsonParser;
            0   13     3   readOptions  Lio/ebean/text/json/JsonReadOptions;
            0   13     4  objectMapper  Ljava/lang/Object;
    Signature: (Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;Lcom/fasterxml/jackson/core/JsonParser;Lio/ebean/text/json/JsonReadOptions;Ljava/lang/Object;)V
    MethodParameters:
              Name  Flags
      desc          
      parser        
      readOptions   
      objectMapper  

  private void <init>(com.fasterxml.jackson.core.JsonParser, io.ebeaninternal.server.text.json.ReadJson, boolean);
    descriptor: (Lcom/fasterxml/jackson/core/JsonParser;Lio/ebeaninternal/server/text/json/ReadJson;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.ebeaninternal.server.text.json.ReadJson this
        start local 1 // com.fasterxml.jackson.core.JsonParser moreJson
        start local 2 // io.ebeaninternal.server.text.json.ReadJson source
        start local 3 // boolean resetContext
         0: .line 67
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 68
            aload 0 /* this */
            aload 1 /* moreJson */
            putfield io.ebeaninternal.server.text.json.ReadJson.parser:Lcom/fasterxml/jackson/core/JsonParser;
         2: .line 69
            aload 0 /* this */
            aload 2 /* source */
            getfield io.ebeaninternal.server.text.json.ReadJson.rootDesc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            putfield io.ebeaninternal.server.text.json.ReadJson.rootDesc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
         3: .line 70
            aload 0 /* this */
            aload 2 /* source */
            getfield io.ebeaninternal.server.text.json.ReadJson.pathStack:Lio/ebeaninternal/server/text/json/PathStack;
            putfield io.ebeaninternal.server.text.json.ReadJson.pathStack:Lio/ebeaninternal/server/text/json/PathStack;
         4: .line 71
            aload 0 /* this */
            aload 2 /* source */
            getfield io.ebeaninternal.server.text.json.ReadJson.visitorMap:Ljava/util/Map;
            putfield io.ebeaninternal.server.text.json.ReadJson.visitorMap:Ljava/util/Map;
         5: .line 72
            aload 0 /* this */
            aload 2 /* source */
            getfield io.ebeaninternal.server.text.json.ReadJson.objectMapper:Ljava/lang/Object;
            putfield io.ebeaninternal.server.text.json.ReadJson.objectMapper:Ljava/lang/Object;
         6: .line 73
            iload 3 /* resetContext */
            ifeq 12
         7: .line 74
            aload 0 /* this */
            new io.ebeaninternal.server.transaction.DefaultPersistenceContext
            dup
            invokespecial io.ebeaninternal.server.transaction.DefaultPersistenceContext.<init>:()V
            putfield io.ebeaninternal.server.text.json.ReadJson.persistenceContext:Lio/ebean/bean/PersistenceContext;
         8: .line 75
            aload 0 /* this */
            aload 2 /* source */
            getfield io.ebeaninternal.server.text.json.ReadJson.loadContext:Lio/ebeaninternal/api/LoadContext;
            putfield io.ebeaninternal.server.text.json.ReadJson.loadContext:Lio/ebeaninternal/api/LoadContext;
         9: .line 76
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.loadContext:Lio/ebeaninternal/api/LoadContext;
            ifnull 14
        10: .line 77
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.loadContext:Lio/ebeaninternal/api/LoadContext;
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.persistenceContext:Lio/ebean/bean/PersistenceContext;
            invokeinterface io.ebeaninternal.api.LoadContext.resetPersistenceContext:(Lio/ebean/bean/PersistenceContext;)V
        11: .line 79
            goto 14
        12: .line 80
      StackMap locals: io.ebeaninternal.server.text.json.ReadJson com.fasterxml.jackson.core.JsonParser io.ebeaninternal.server.text.json.ReadJson int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* source */
            getfield io.ebeaninternal.server.text.json.ReadJson.persistenceContext:Lio/ebean/bean/PersistenceContext;
            putfield io.ebeaninternal.server.text.json.ReadJson.persistenceContext:Lio/ebean/bean/PersistenceContext;
        13: .line 81
            aload 0 /* this */
            aload 2 /* source */
            getfield io.ebeaninternal.server.text.json.ReadJson.loadContext:Lio/ebeaninternal/api/LoadContext;
            putfield io.ebeaninternal.server.text.json.ReadJson.loadContext:Lio/ebeaninternal/api/LoadContext;
        14: .line 83
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean resetContext
        end local 2 // io.ebeaninternal.server.text.json.ReadJson source
        end local 1 // com.fasterxml.jackson.core.JsonParser moreJson
        end local 0 // io.ebeaninternal.server.text.json.ReadJson this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Lio/ebeaninternal/server/text/json/ReadJson;
            0   15     1      moreJson  Lcom/fasterxml/jackson/core/JsonParser;
            0   15     2        source  Lio/ebeaninternal/server/text/json/ReadJson;
            0   15     3  resetContext  Z
    MethodParameters:
              Name  Flags
      moreJson      
      source        
      resetContext  

  private io.ebeaninternal.api.LoadContext initLoadContext(io.ebeaninternal.server.deploy.BeanDescriptor<?>, io.ebean.text.json.JsonReadOptions);
    descriptor: (Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebean/text/json/JsonReadOptions;)Lio/ebeaninternal/api/LoadContext;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.text.json.ReadJson this
        start local 1 // io.ebeaninternal.server.deploy.BeanDescriptor desc
        start local 2 // io.ebean.text.json.JsonReadOptions readOptions
         0: .line 86
            aload 2 /* readOptions */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 87
      StackMap locals:
      StackMap stack:
            aload 2 /* readOptions */
            invokevirtual io.ebean.text.json.JsonReadOptions.isEnableLazyLoading:()Z
            ifeq 3
            aload 2 /* readOptions */
            invokevirtual io.ebean.text.json.JsonReadOptions.getLoadContext:()Ljava/lang/Object;
            ifnonnull 3
         2: .line 88
            new io.ebeaninternal.server.loadcontext.DLoadContext
            dup
            aload 1 /* desc */
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.persistenceContext:Lio/ebean/bean/PersistenceContext;
            invokespecial io.ebeaninternal.server.loadcontext.DLoadContext.<init>:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebean/bean/PersistenceContext;)V
            areturn
         3: .line 90
      StackMap locals:
      StackMap stack:
            aload 2 /* readOptions */
            invokevirtual io.ebean.text.json.JsonReadOptions.getLoadContext:()Ljava/lang/Object;
            checkcast io.ebeaninternal.api.LoadContext
            areturn
        end local 2 // io.ebean.text.json.JsonReadOptions readOptions
        end local 1 // io.ebeaninternal.server.deploy.BeanDescriptor desc
        end local 0 // io.ebeaninternal.server.text.json.ReadJson this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lio/ebeaninternal/server/text/json/ReadJson;
            0    4     1         desc  Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
            0    4     2  readOptions  Lio/ebean/text/json/JsonReadOptions;
    Signature: (Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;Lio/ebean/text/json/JsonReadOptions;)Lio/ebeaninternal/api/LoadContext;
    MethodParameters:
             Name  Flags
      desc         
      readOptions  

  private io.ebean.bean.PersistenceContext initPersistenceContext(io.ebean.text.json.JsonReadOptions);
    descriptor: (Lio/ebean/text/json/JsonReadOptions;)Lio/ebean/bean/PersistenceContext;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.text.json.ReadJson this
        start local 1 // io.ebean.text.json.JsonReadOptions readOptions
         0: .line 95
            aload 1 /* readOptions */
            ifnull 2
            aload 1 /* readOptions */
            invokevirtual io.ebean.text.json.JsonReadOptions.getPersistenceContext:()Lio/ebean/bean/PersistenceContext;
            ifnull 2
         1: .line 96
            aload 1 /* readOptions */
            invokevirtual io.ebean.text.json.JsonReadOptions.getPersistenceContext:()Lio/ebean/bean/PersistenceContext;
            areturn
         2: .line 98
      StackMap locals:
      StackMap stack:
            new io.ebeaninternal.server.transaction.DefaultPersistenceContext
            dup
            invokespecial io.ebeaninternal.server.transaction.DefaultPersistenceContext.<init>:()V
            areturn
        end local 1 // io.ebean.text.json.JsonReadOptions readOptions
        end local 0 // io.ebeaninternal.server.text.json.ReadJson this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lio/ebeaninternal/server/text/json/ReadJson;
            0    3     1  readOptions  Lio/ebean/text/json/JsonReadOptions;
    MethodParameters:
             Name  Flags
      readOptions  

  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.text.json.ReadJson this
         0: .line 106
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.persistenceContext:Lio/ebean/bean/PersistenceContext;
            areturn
        end local 0 // io.ebeaninternal.server.text.json.ReadJson this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/text/json/ReadJson;

  public io.ebeaninternal.api.json.SpiJsonReader forJson(com.fasterxml.jackson.core.JsonParser, boolean);
    descriptor: (Lcom/fasterxml/jackson/core/JsonParser;Z)Lio/ebeaninternal/api/json/SpiJsonReader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.text.json.ReadJson this
        start local 1 // com.fasterxml.jackson.core.JsonParser moreJson
        start local 2 // boolean resetContext
         0: .line 114
            new io.ebeaninternal.server.text.json.ReadJson
            dup
            aload 1 /* moreJson */
            aload 0 /* this */
            iload 2 /* resetContext */
            invokespecial io.ebeaninternal.server.text.json.ReadJson.<init>:(Lcom/fasterxml/jackson/core/JsonParser;Lio/ebeaninternal/server/text/json/ReadJson;Z)V
            areturn
        end local 2 // boolean resetContext
        end local 1 // com.fasterxml.jackson.core.JsonParser moreJson
        end local 0 // io.ebeaninternal.server.text.json.ReadJson this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lio/ebeaninternal/server/text/json/ReadJson;
            0    1     1      moreJson  Lcom/fasterxml/jackson/core/JsonParser;
            0    1     2  resetContext  Z
    MethodParameters:
              Name  Flags
      moreJson      
      resetContext  

  public <T> void persistenceContextPut(, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.text.json.ReadJson this
        start local 1 // java.lang.Object beanId
        start local 2 // java.lang.Object currentBean
         0: .line 123
            aload 0 /* this */
            aload 1 /* beanId */
            aload 2 /* currentBean */
            checkcast io.ebean.bean.EntityBean
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.rootDesc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.text.json.ReadJson.persistenceContextPutIfAbsent:(Ljava/lang/Object;Lio/ebean/bean/EntityBean;Lio/ebeaninternal/server/deploy/BeanDescriptor;)Ljava/lang/Object;
            pop
         1: .line 124
            return
        end local 2 // java.lang.Object currentBean
        end local 1 // java.lang.Object beanId
        end local 0 // io.ebeaninternal.server.text.json.ReadJson this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/ebeaninternal/server/text/json/ReadJson;
            0    2     1       beanId  Ljava/lang/Object;
            0    2     2  currentBean  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;TT;)V
    MethodParameters:
             Name  Flags
      beanId       
      currentBean  

  public  persistenceContextPutIfAbsent(, io.ebean.bean.EntityBean, io.ebeaninternal.server.deploy.BeanDescriptor<?>);
    descriptor: (Ljava/lang/Object;Lio/ebean/bean/EntityBean;Lio/ebeaninternal/server/deploy/BeanDescriptor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // io.ebeaninternal.server.text.json.ReadJson this
        start local 1 // java.lang.Object id
        start local 2 // io.ebean.bean.EntityBean bean
        start local 3 // io.ebeaninternal.server.deploy.BeanDescriptor beanDesc
         0: .line 133
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.persistenceContext:Lio/ebean/bean/PersistenceContext;
            ifnonnull 2
         1: .line 135
            aconst_null
            areturn
         2: .line 138
      StackMap locals:
      StackMap stack:
            aload 3 /* beanDesc */
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.persistenceContext:Lio/ebean/bean/PersistenceContext;
            aload 1 /* id */
            aload 2 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.contextPutIfAbsent:(Lio/ebean/bean/PersistenceContext;Ljava/lang/Object;Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            astore 4 /* existing */
        start local 4 // java.lang.Object existing
         3: .line 139
            aload 4 /* existing */
            ifnull 6
         4: .line 140
            aload 3 /* beanDesc */
            aload 2 /* bean */
            aload 4 /* existing */
            checkcast io.ebean.bean.EntityBean
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.merge:(Lio/ebean/bean/EntityBean;Lio/ebean/bean/EntityBean;)V
         5: .line 142
            goto 14
         6: .line 143
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.loadContext:Lio/ebeaninternal/api/LoadContext;
            ifnull 13
         7: .line 144
            aload 2 /* bean */
            invokeinterface io.ebean.bean.EntityBean._ebean_getIntercept:()Lio/ebean/bean/EntityBeanIntercept;
            astore 5 /* ebi */
        start local 5 // io.ebean.bean.EntityBeanIntercept ebi
         8: .line 145
            aload 5 /* ebi */
            invokevirtual io.ebean.bean.EntityBeanIntercept.isPartial:()Z
            ifeq 12
         9: .line 147
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.pathStack:Lio/ebeaninternal/server/text/json/PathStack;
            invokevirtual io.ebeaninternal.server.text.json.PathStack.peekWithNull:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* path */
        start local 6 // java.lang.String path
        10: .line 148
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.loadContext:Lio/ebeaninternal/api/LoadContext;
            aload 6 /* path */
            aload 5 /* ebi */
            invokeinterface io.ebeaninternal.api.LoadContext.register:(Ljava/lang/String;Lio/ebean/bean/EntityBeanIntercept;)V
        11: .line 149
            aload 3 /* beanDesc */
            aload 6 /* path */
            aload 5 /* ebi */
            aload 2 /* bean */
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.loadContext:Lio/ebeaninternal/api/LoadContext;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.lazyLoadRegister:(Ljava/lang/String;Lio/ebean/bean/EntityBeanIntercept;Lio/ebean/bean/EntityBean;Lio/ebeaninternal/api/LoadContext;)V
        end local 6 // java.lang.String path
        12: .line 151
      StackMap locals: io.ebean.bean.EntityBeanIntercept
      StackMap stack:
            aload 5 /* ebi */
            invokevirtual io.ebean.bean.EntityBeanIntercept.setLoaded:()V
        end local 5 // io.ebean.bean.EntityBeanIntercept ebi
        13: .line 153
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        14: .line 155
      StackMap locals:
      StackMap stack:
            aload 4 /* existing */
            areturn
        end local 4 // java.lang.Object existing
        end local 3 // io.ebeaninternal.server.deploy.BeanDescriptor beanDesc
        end local 2 // io.ebean.bean.EntityBean bean
        end local 1 // java.lang.Object id
        end local 0 // io.ebeaninternal.server.text.json.ReadJson this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lio/ebeaninternal/server/text/json/ReadJson;
            0   15     1        id  Ljava/lang/Object;
            0   15     2      bean  Lio/ebean/bean/EntityBean;
            0   15     3  beanDesc  Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
            3   15     4  existing  Ljava/lang/Object;
            8   13     5       ebi  Lio/ebean/bean/EntityBeanIntercept;
           10   12     6      path  Ljava/lang/String;
    Signature: (Ljava/lang/Object;Lio/ebean/bean/EntityBean;Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;)Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      id        
      bean      
      beanDesc  

  public com.fasterxml.jackson.databind.ObjectMapper getObjectMapper();
    descriptor: ()Lcom/fasterxml/jackson/databind/ObjectMapper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.text.json.ReadJson this
         0: .line 163
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.objectMapper:Ljava/lang/Object;
            ifnonnull 4
         1: .line 164
            new java.lang.IllegalStateException
            dup
         2: .line 165
            ldc "Jackson ObjectMapper required but has not set. The ObjectMapper can be set on either the DatabaseConfig or on JsonReadOptions."
         3: .line 164
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.objectMapper:Ljava/lang/Object;
            checkcast com.fasterxml.jackson.databind.ObjectMapper
            areturn
        end local 0 // io.ebeaninternal.server.text.json.ReadJson this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/ebeaninternal/server/text/json/ReadJson;

  public com.fasterxml.jackson.core.JsonParser getParser();
    descriptor: ()Lcom/fasterxml/jackson/core/JsonParser;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.text.json.ReadJson this
         0: .line 176
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.parser:Lcom/fasterxml/jackson/core/JsonParser;
            areturn
        end local 0 // io.ebeaninternal.server.text.json.ReadJson this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/text/json/ReadJson;

  public com.fasterxml.jackson.core.JsonToken nextToken();
    descriptor: ()Lcom/fasterxml/jackson/core/JsonToken;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.text.json.ReadJson this
         0: .line 184
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.parser:Lcom/fasterxml/jackson/core/JsonParser;
            invokevirtual com.fasterxml.jackson.core.JsonParser.nextToken:()Lcom/fasterxml/jackson/core/JsonToken;
            areturn
        end local 0 // io.ebeaninternal.server.text.json.ReadJson this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/text/json/ReadJson;
    Exceptions:
      throws java.io.IOException

  public void pushPath(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.text.json.ReadJson this
        start local 1 // java.lang.String path
         0: .line 192
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.pathStack:Lio/ebeaninternal/server/text/json/PathStack;
            ifnull 2
         1: .line 193
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.pathStack:Lio/ebeaninternal/server/text/json/PathStack;
            aload 1 /* path */
            invokevirtual io.ebeaninternal.server.text.json.PathStack.pushPathKey:(Ljava/lang/String;)V
         2: .line 195
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String path
        end local 0 // io.ebeaninternal.server.text.json.ReadJson this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/ebeaninternal/server/text/json/ReadJson;
            0    3     1  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  public void popPath();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.text.json.ReadJson this
         0: .line 202
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.pathStack:Lio/ebeaninternal/server/text/json/PathStack;
            ifnull 2
         1: .line 203
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.pathStack:Lio/ebeaninternal/server/text/json/PathStack;
            invokevirtual io.ebeaninternal.server.text.json.PathStack.pop:()Ljava/lang/Object;
            pop
         2: .line 205
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.ebeaninternal.server.text.json.ReadJson this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/ebeaninternal/server/text/json/ReadJson;

  public void beanVisitor(, java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Ljava/lang/Object;Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.ebeaninternal.server.text.json.ReadJson this
        start local 1 // java.lang.Object bean
        start local 2 // java.util.Map unmappedProperties
         0: .line 214
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.visitorMap:Ljava/util/Map;
            ifnull 4
         1: .line 215
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.visitorMap:Ljava/util/Map;
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.pathStack:Lio/ebeaninternal/server/text/json/PathStack;
            invokevirtual io.ebeaninternal.server.text.json.PathStack.peekWithNull:()Ljava/lang/Object;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebean.text.json.JsonReadBeanVisitor
            astore 3 /* visitor */
        start local 3 // io.ebean.text.json.JsonReadBeanVisitor visitor
         2: .line 216
            aload 3 /* visitor */
            ifnull 4
         3: .line 217
            aload 3 /* visitor */
            aload 1 /* bean */
            aload 2 /* unmappedProperties */
            invokeinterface io.ebean.text.json.JsonReadBeanVisitor.visit:(Ljava/lang/Object;Ljava/util/Map;)V
        end local 3 // io.ebean.text.json.JsonReadBeanVisitor visitor
         4: .line 220
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Map unmappedProperties
        end local 1 // java.lang.Object bean
        end local 0 // io.ebeaninternal.server.text.json.ReadJson this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lio/ebeaninternal/server/text/json/ReadJson;
            0    5     1                bean  Ljava/lang/Object;
            0    5     2  unmappedProperties  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            2    4     3             visitor  Lio/ebean/text/json/JsonReadBeanVisitor;
    Signature: (Ljava/lang/Object;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)V
    MethodParameters:
                    Name  Flags
      bean                
      unmappedProperties  

  public  readValueUsingObjectMapper(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.text.json.ReadJson this
        start local 1 // java.lang.Class propertyType
         0: .line 229
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.text.json.ReadJson.getObjectMapper:()Lcom/fasterxml/jackson/databind/ObjectMapper;
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.json.ReadJson.parser:Lcom/fasterxml/jackson/core/JsonParser;
            aload 1 /* propertyType */
            invokevirtual com.fasterxml.jackson.databind.ObjectMapper.readValue:(Lcom/fasterxml/jackson/core/JsonParser;Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Class propertyType
        end local 0 // io.ebeaninternal.server.text.json.ReadJson this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lio/ebeaninternal/server/text/json/ReadJson;
            0    1     1  propertyType  Ljava/lang/Class<*>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      propertyType  
}
SourceFile: "ReadJson.java"