public final class com.fasterxml.jackson.databind.ObjectWriter$Prefetch implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.fasterxml.jackson.databind.ObjectWriter$Prefetch
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final com.fasterxml.jackson.databind.ObjectWriter$Prefetch empty;
    descriptor: Lcom/fasterxml/jackson/databind/ObjectWriter$Prefetch;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private final com.fasterxml.jackson.databind.JavaType rootType;
    descriptor: Lcom/fasterxml/jackson/databind/JavaType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.fasterxml.jackson.databind.JsonSerializer<java.lang.Object> valueSerializer;
    descriptor: Lcom/fasterxml/jackson/databind/JsonSerializer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/fasterxml/jackson/databind/JsonSerializer<Ljava/lang/Object;>;

  private final com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSerializer;
    descriptor: Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 1307
            new com.fasterxml.jackson.databind.ObjectWriter$Prefetch
            dup
            aconst_null
            aconst_null
            aconst_null
            invokespecial com.fasterxml.jackson.databind.ObjectWriter$Prefetch.<init>:(Lcom/fasterxml/jackson/databind/JavaType;Lcom/fasterxml/jackson/databind/JsonSerializer;Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;)V
            putstatic com.fasterxml.jackson.databind.ObjectWriter$Prefetch.empty:Lcom/fasterxml/jackson/databind/ObjectWriter$Prefetch;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(com.fasterxml.jackson.databind.JavaType, com.fasterxml.jackson.databind.JsonSerializer<java.lang.Object>, com.fasterxml.jackson.databind.jsontype.TypeSerializer);
    descriptor: (Lcom/fasterxml/jackson/databind/JavaType;Lcom/fasterxml/jackson/databind/JsonSerializer;Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.fasterxml.jackson.databind.ObjectWriter$Prefetch this
        start local 1 // com.fasterxml.jackson.databind.JavaType rootT
        start local 2 // com.fasterxml.jackson.databind.JsonSerializer ser
        start local 3 // com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer
         0: .line 1330
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1333
            aload 0 /* this */
            aload 1 /* rootT */
            putfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.rootType:Lcom/fasterxml/jackson/databind/JavaType;
         2: .line 1334
            aload 0 /* this */
            aload 2 /* ser */
            putfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.valueSerializer:Lcom/fasterxml/jackson/databind/JsonSerializer;
         3: .line 1335
            aload 0 /* this */
            aload 3 /* typeSer */
            putfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.typeSerializer:Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;
         4: .line 1336
            return
        end local 3 // com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer
        end local 2 // com.fasterxml.jackson.databind.JsonSerializer ser
        end local 1 // com.fasterxml.jackson.databind.JavaType rootT
        end local 0 // com.fasterxml.jackson.databind.ObjectWriter$Prefetch this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lcom/fasterxml/jackson/databind/ObjectWriter$Prefetch;
            0    5     1    rootT  Lcom/fasterxml/jackson/databind/JavaType;
            0    5     2      ser  Lcom/fasterxml/jackson/databind/JsonSerializer<Ljava/lang/Object;>;
            0    5     3  typeSer  Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;
    Signature: (Lcom/fasterxml/jackson/databind/JavaType;Lcom/fasterxml/jackson/databind/JsonSerializer<Ljava/lang/Object;>;Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;)V
    MethodParameters:
         Name  Flags
      rootT    
      ser      
      typeSer  

  public com.fasterxml.jackson.databind.ObjectWriter$Prefetch forRootType(com.fasterxml.jackson.databind.ObjectWriter, com.fasterxml.jackson.databind.JavaType);
    descriptor: (Lcom/fasterxml/jackson/databind/ObjectWriter;Lcom/fasterxml/jackson/databind/JavaType;)Lcom/fasterxml/jackson/databind/ObjectWriter$Prefetch;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.fasterxml.jackson.databind.ObjectWriter$Prefetch this
        start local 1 // com.fasterxml.jackson.databind.ObjectWriter parent
        start local 2 // com.fasterxml.jackson.databind.JavaType newType
         0: .line 1341
            aload 2 /* newType */
            ifnull 1
            aload 2 /* newType */
            invokevirtual com.fasterxml.jackson.databind.JavaType.isJavaLangObject:()Z
            ifne 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* noType */
        start local 3 // boolean noType
         3: .line 1343
            iload 3 /* noType */
            ifeq 7
         4: .line 1344
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.rootType:Lcom/fasterxml/jackson/databind/JavaType;
            ifnull 5
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.valueSerializer:Lcom/fasterxml/jackson/databind/JsonSerializer;
            ifnonnull 6
         5: .line 1345
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            areturn
         6: .line 1347
      StackMap locals:
      StackMap stack:
            new com.fasterxml.jackson.databind.ObjectWriter$Prefetch
            dup
            aconst_null
            aconst_null
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.typeSerializer:Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;
            invokespecial com.fasterxml.jackson.databind.ObjectWriter$Prefetch.<init>:(Lcom/fasterxml/jackson/databind/JavaType;Lcom/fasterxml/jackson/databind/JsonSerializer;Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;)V
            areturn
         7: .line 1349
      StackMap locals:
      StackMap stack:
            aload 2 /* newType */
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.rootType:Lcom/fasterxml/jackson/databind/JavaType;
            invokevirtual com.fasterxml.jackson.databind.JavaType.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 1350
            aload 0 /* this */
            areturn
         9: .line 1352
      StackMap locals:
      StackMap stack:
            aload 1 /* parent */
            getstatic com.fasterxml.jackson.databind.SerializationFeature.EAGER_SERIALIZER_FETCH:Lcom/fasterxml/jackson/databind/SerializationFeature;
            invokevirtual com.fasterxml.jackson.databind.ObjectWriter.isEnabled:(Lcom/fasterxml/jackson/databind/SerializationFeature;)Z
            ifeq 20
        10: .line 1353
            aload 1 /* parent */
            invokevirtual com.fasterxml.jackson.databind.ObjectWriter._serializerProvider:()Lcom/fasterxml/jackson/databind/ser/DefaultSerializerProvider;
            astore 4 /* prov */
        start local 4 // com.fasterxml.jackson.databind.ser.DefaultSerializerProvider prov
        11: .line 1359
            aload 4 /* prov */
            aload 2 /* newType */
            iconst_1
            aconst_null
            invokevirtual com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.findTypedValueSerializer:(Lcom/fasterxml/jackson/databind/JavaType;ZLcom/fasterxml/jackson/databind/BeanProperty;)Lcom/fasterxml/jackson/databind/JsonSerializer;
            astore 5 /* ser */
        start local 5 // com.fasterxml.jackson.databind.JsonSerializer ser
        12: .line 1361
            aload 5 /* ser */
            instanceof com.fasterxml.jackson.databind.ser.impl.TypeWrappedSerializer
            ifeq 17
        13: .line 1362
            new com.fasterxml.jackson.databind.ObjectWriter$Prefetch
            dup
            aload 2 /* newType */
            aconst_null
        14: .line 1363
            aload 5 /* ser */
            checkcast com.fasterxml.jackson.databind.ser.impl.TypeWrappedSerializer
            invokevirtual com.fasterxml.jackson.databind.ser.impl.TypeWrappedSerializer.typeSerializer:()Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;
        15: .line 1362
            invokespecial com.fasterxml.jackson.databind.ObjectWriter$Prefetch.<init>:(Lcom/fasterxml/jackson/databind/JavaType;Lcom/fasterxml/jackson/databind/JsonSerializer;Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;)V
        16: areturn
        17: .line 1365
      StackMap locals: com.fasterxml.jackson.databind.ser.DefaultSerializerProvider com.fasterxml.jackson.databind.JsonSerializer
      StackMap stack:
            new com.fasterxml.jackson.databind.ObjectWriter$Prefetch
            dup
            aload 2 /* newType */
            aload 5 /* ser */
            aconst_null
            invokespecial com.fasterxml.jackson.databind.ObjectWriter$Prefetch.<init>:(Lcom/fasterxml/jackson/databind/JavaType;Lcom/fasterxml/jackson/databind/JsonSerializer;Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;)V
        18: areturn
        end local 5 // com.fasterxml.jackson.databind.JsonSerializer ser
        19: .line 1366
      StackMap locals: com.fasterxml.jackson.databind.ObjectWriter$Prefetch com.fasterxml.jackson.databind.ObjectWriter com.fasterxml.jackson.databind.JavaType int com.fasterxml.jackson.databind.ser.DefaultSerializerProvider
      StackMap stack: com.fasterxml.jackson.core.JsonProcessingException
            pop
        end local 4 // com.fasterxml.jackson.databind.ser.DefaultSerializerProvider prov
        20: .line 1371
      StackMap locals:
      StackMap stack:
            new com.fasterxml.jackson.databind.ObjectWriter$Prefetch
            dup
            aload 2 /* newType */
            aconst_null
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.typeSerializer:Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;
            invokespecial com.fasterxml.jackson.databind.ObjectWriter$Prefetch.<init>:(Lcom/fasterxml/jackson/databind/JavaType;Lcom/fasterxml/jackson/databind/JsonSerializer;Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;)V
            areturn
        end local 3 // boolean noType
        end local 2 // com.fasterxml.jackson.databind.JavaType newType
        end local 1 // com.fasterxml.jackson.databind.ObjectWriter parent
        end local 0 // com.fasterxml.jackson.databind.ObjectWriter$Prefetch this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0     this  Lcom/fasterxml/jackson/databind/ObjectWriter$Prefetch;
            0   21     1   parent  Lcom/fasterxml/jackson/databind/ObjectWriter;
            0   21     2  newType  Lcom/fasterxml/jackson/databind/JavaType;
            3   21     3   noType  Z
           11   20     4     prov  Lcom/fasterxml/jackson/databind/ser/DefaultSerializerProvider;
           12   19     5      ser  Lcom/fasterxml/jackson/databind/JsonSerializer<Ljava/lang/Object;>;
      Exception table:
        from    to  target  type
          11    16      19  Class com.fasterxml.jackson.core.JsonProcessingException
          17    18      19  Class com.fasterxml.jackson.core.JsonProcessingException
    MethodParameters:
         Name  Flags
      parent   
      newType  

  public final com.fasterxml.jackson.databind.JsonSerializer<java.lang.Object> getValueSerializer();
    descriptor: ()Lcom/fasterxml/jackson/databind/JsonSerializer;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.fasterxml.jackson.databind.ObjectWriter$Prefetch this
         0: .line 1375
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.valueSerializer:Lcom/fasterxml/jackson/databind/JsonSerializer;
            areturn
        end local 0 // com.fasterxml.jackson.databind.ObjectWriter$Prefetch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/fasterxml/jackson/databind/ObjectWriter$Prefetch;
    Signature: ()Lcom/fasterxml/jackson/databind/JsonSerializer<Ljava/lang/Object;>;

  public final com.fasterxml.jackson.databind.jsontype.TypeSerializer getTypeSerializer();
    descriptor: ()Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.fasterxml.jackson.databind.ObjectWriter$Prefetch this
         0: .line 1379
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.typeSerializer:Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;
            areturn
        end local 0 // com.fasterxml.jackson.databind.ObjectWriter$Prefetch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/fasterxml/jackson/databind/ObjectWriter$Prefetch;

  public boolean hasSerializer();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.fasterxml.jackson.databind.ObjectWriter$Prefetch this
         0: .line 1383
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.valueSerializer:Lcom/fasterxml/jackson/databind/JsonSerializer;
            ifnonnull 1
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.typeSerializer:Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;
            ifnonnull 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.fasterxml.jackson.databind.ObjectWriter$Prefetch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/fasterxml/jackson/databind/ObjectWriter$Prefetch;

  public void serialize(com.fasterxml.jackson.core.JsonGenerator, java.lang.Object, com.fasterxml.jackson.databind.ser.DefaultSerializerProvider);
    descriptor: (Lcom/fasterxml/jackson/core/JsonGenerator;Ljava/lang/Object;Lcom/fasterxml/jackson/databind/ser/DefaultSerializerProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.fasterxml.jackson.databind.ObjectWriter$Prefetch this
        start local 1 // com.fasterxml.jackson.core.JsonGenerator gen
        start local 2 // java.lang.Object value
        start local 3 // com.fasterxml.jackson.databind.ser.DefaultSerializerProvider prov
         0: .line 1389
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.typeSerializer:Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;
            ifnull 3
         1: .line 1390
            aload 3 /* prov */
            aload 1 /* gen */
            aload 2 /* value */
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.rootType:Lcom/fasterxml/jackson/databind/JavaType;
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.valueSerializer:Lcom/fasterxml/jackson/databind/JsonSerializer;
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.typeSerializer:Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;
            invokevirtual com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializePolymorphic:(Lcom/fasterxml/jackson/core/JsonGenerator;Ljava/lang/Object;Lcom/fasterxml/jackson/databind/JavaType;Lcom/fasterxml/jackson/databind/JsonSerializer;Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;)V
         2: .line 1391
            goto 10
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.valueSerializer:Lcom/fasterxml/jackson/databind/JsonSerializer;
            ifnull 6
         4: .line 1392
            aload 3 /* prov */
            aload 1 /* gen */
            aload 2 /* value */
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.rootType:Lcom/fasterxml/jackson/databind/JavaType;
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.valueSerializer:Lcom/fasterxml/jackson/databind/JsonSerializer;
            invokevirtual com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue:(Lcom/fasterxml/jackson/core/JsonGenerator;Ljava/lang/Object;Lcom/fasterxml/jackson/databind/JavaType;Lcom/fasterxml/jackson/databind/JsonSerializer;)V
         5: .line 1393
            goto 10
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.rootType:Lcom/fasterxml/jackson/databind/JavaType;
            ifnull 9
         7: .line 1394
            aload 3 /* prov */
            aload 1 /* gen */
            aload 2 /* value */
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ObjectWriter$Prefetch.rootType:Lcom/fasterxml/jackson/databind/JavaType;
            invokevirtual com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue:(Lcom/fasterxml/jackson/core/JsonGenerator;Ljava/lang/Object;Lcom/fasterxml/jackson/databind/JavaType;)V
         8: .line 1395
            goto 10
         9: .line 1396
      StackMap locals:
      StackMap stack:
            aload 3 /* prov */
            aload 1 /* gen */
            aload 2 /* value */
            invokevirtual com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue:(Lcom/fasterxml/jackson/core/JsonGenerator;Ljava/lang/Object;)V
        10: .line 1398
      StackMap locals:
      StackMap stack:
            return
        end local 3 // com.fasterxml.jackson.databind.ser.DefaultSerializerProvider prov
        end local 2 // java.lang.Object value
        end local 1 // com.fasterxml.jackson.core.JsonGenerator gen
        end local 0 // com.fasterxml.jackson.databind.ObjectWriter$Prefetch this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lcom/fasterxml/jackson/databind/ObjectWriter$Prefetch;
            0   11     1    gen  Lcom/fasterxml/jackson/core/JsonGenerator;
            0   11     2  value  Ljava/lang/Object;
            0   11     3   prov  Lcom/fasterxml/jackson/databind/ser/DefaultSerializerProvider;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      gen    
      value  
      prov   
}
SourceFile: "ObjectWriter.java"
NestHost: com.fasterxml.jackson.databind.ObjectWriter
InnerClasses:
  public final Prefetch = com.fasterxml.jackson.databind.ObjectWriter$Prefetch of com.fasterxml.jackson.databind.ObjectWriter