public abstract class org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter extends org.springframework.http.converter.AbstractGenericHttpMessageConverter<java.lang.Object>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter
  super_class: org.springframework.http.converter.AbstractGenericHttpMessageConverter
{
  public static final java.nio.charset.Charset DEFAULT_CHARSET;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  protected com.fasterxml.jackson.databind.ObjectMapper objectMapper;
    descriptor: Lcom/fasterxml/jackson/databind/ObjectMapper;
    flags: (0x0004) ACC_PROTECTED

  private java.lang.Boolean prettyPrint;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private com.fasterxml.jackson.core.PrettyPrinter ssePrettyPrinter;
    descriptor: Lcom/fasterxml/jackson/core/PrettyPrinter;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 75
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            putstatic org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.DEFAULT_CHARSET:Ljava/nio/charset/Charset;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(com.fasterxml.jackson.databind.ObjectMapper);
    descriptor: (Lcom/fasterxml/jackson/databind/ObjectMapper;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
        start local 1 // com.fasterxml.jackson.databind.ObjectMapper objectMapper
         0: .line 87
            aload 0 /* this */
            invokespecial org.springframework.http.converter.AbstractGenericHttpMessageConverter.<init>:()V
         1: .line 88
            aload 0 /* this */
            aload 1 /* objectMapper */
            putfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
         2: .line 89
            aload 0 /* this */
            getstatic org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.DEFAULT_CHARSET:Ljava/nio/charset/Charset;
            invokevirtual org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.setDefaultCharset:(Ljava/nio/charset/Charset;)V
         3: .line 90
            new com.fasterxml.jackson.core.util.DefaultPrettyPrinter
            dup
            invokespecial com.fasterxml.jackson.core.util.DefaultPrettyPrinter.<init>:()V
            astore 2 /* prettyPrinter */
        start local 2 // com.fasterxml.jackson.core.util.DefaultPrettyPrinter prettyPrinter
         4: .line 91
            aload 2 /* prettyPrinter */
            new com.fasterxml.jackson.core.util.DefaultIndenter
            dup
            ldc "  "
            ldc "\ndata:"
            invokespecial com.fasterxml.jackson.core.util.DefaultIndenter.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual com.fasterxml.jackson.core.util.DefaultPrettyPrinter.indentObjectsWith:(Lcom/fasterxml/jackson/core/util/DefaultPrettyPrinter$Indenter;)V
         5: .line 92
            aload 0 /* this */
            aload 2 /* prettyPrinter */
            putfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.ssePrettyPrinter:Lcom/fasterxml/jackson/core/PrettyPrinter;
         6: .line 93
            return
        end local 2 // com.fasterxml.jackson.core.util.DefaultPrettyPrinter prettyPrinter
        end local 1 // com.fasterxml.jackson.databind.ObjectMapper objectMapper
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;
            0    7     1   objectMapper  Lcom/fasterxml/jackson/databind/ObjectMapper;
            4    7     2  prettyPrinter  Lcom/fasterxml/jackson/core/util/DefaultPrettyPrinter;
    MethodParameters:
              Name  Flags
      objectMapper  

  protected void <init>(com.fasterxml.jackson.databind.ObjectMapper, org.springframework.http.MediaType);
    descriptor: (Lcom/fasterxml/jackson/databind/ObjectMapper;Lorg/springframework/http/MediaType;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
        start local 1 // com.fasterxml.jackson.databind.ObjectMapper objectMapper
        start local 2 // org.springframework.http.MediaType supportedMediaType
         0: .line 96
            aload 0 /* this */
            aload 1 /* objectMapper */
            invokespecial org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.<init>:(Lcom/fasterxml/jackson/databind/ObjectMapper;)V
         1: .line 97
            aload 0 /* this */
            aload 2 /* supportedMediaType */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokevirtual org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.setSupportedMediaTypes:(Ljava/util/List;)V
         2: .line 98
            return
        end local 2 // org.springframework.http.MediaType supportedMediaType
        end local 1 // com.fasterxml.jackson.databind.ObjectMapper objectMapper
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;
            0    3     1        objectMapper  Lcom/fasterxml/jackson/databind/ObjectMapper;
            0    3     2  supportedMediaType  Lorg/springframework/http/MediaType;
    MethodParameters:
                    Name  Flags
      objectMapper        
      supportedMediaType  

  protected void <init>(com.fasterxml.jackson.databind.ObjectMapper, org.springframework.http.MediaType[]);
    descriptor: (Lcom/fasterxml/jackson/databind/ObjectMapper;[Lorg/springframework/http/MediaType;)V
    flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
        start local 1 // com.fasterxml.jackson.databind.ObjectMapper objectMapper
        start local 2 // org.springframework.http.MediaType[] supportedMediaTypes
         0: .line 101
            aload 0 /* this */
            aload 1 /* objectMapper */
            invokespecial org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.<init>:(Lcom/fasterxml/jackson/databind/ObjectMapper;)V
         1: .line 102
            aload 0 /* this */
            aload 2 /* supportedMediaTypes */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.setSupportedMediaTypes:(Ljava/util/List;)V
         2: .line 103
            return
        end local 2 // org.springframework.http.MediaType[] supportedMediaTypes
        end local 1 // com.fasterxml.jackson.databind.ObjectMapper objectMapper
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;
            0    3     1         objectMapper  Lcom/fasterxml/jackson/databind/ObjectMapper;
            0    3     2  supportedMediaTypes  [Lorg/springframework/http/MediaType;
    MethodParameters:
                     Name  Flags
      objectMapper         
      supportedMediaTypes  

  public void setObjectMapper(com.fasterxml.jackson.databind.ObjectMapper);
    descriptor: (Lcom/fasterxml/jackson/databind/ObjectMapper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
        start local 1 // com.fasterxml.jackson.databind.ObjectMapper objectMapper
         0: .line 118
            aload 1 /* objectMapper */
            ldc "ObjectMapper must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 119
            aload 0 /* this */
            aload 1 /* objectMapper */
            putfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
         2: .line 120
            aload 0 /* this */
            invokevirtual org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.configurePrettyPrint:()V
         3: .line 121
            return
        end local 1 // com.fasterxml.jackson.databind.ObjectMapper objectMapper
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;
            0    4     1  objectMapper  Lcom/fasterxml/jackson/databind/ObjectMapper;
    MethodParameters:
              Name  Flags
      objectMapper  

  public com.fasterxml.jackson.databind.ObjectMapper getObjectMapper();
    descriptor: ()Lcom/fasterxml/jackson/databind/ObjectMapper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
         0: .line 127
            aload 0 /* this */
            getfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
            areturn
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;

  public void setPrettyPrint(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
        start local 1 // boolean prettyPrint
         0: .line 140
            aload 0 /* this */
            iload 1 /* prettyPrint */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.prettyPrint:Ljava/lang/Boolean;
         1: .line 141
            aload 0 /* this */
            invokevirtual org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.configurePrettyPrint:()V
         2: .line 142
            return
        end local 1 // boolean prettyPrint
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;
            0    3     1  prettyPrint  Z
    MethodParameters:
             Name  Flags
      prettyPrint  

  private void configurePrettyPrint();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
         0: .line 145
            aload 0 /* this */
            getfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.prettyPrint:Ljava/lang/Boolean;
            ifnull 2
         1: .line 146
            aload 0 /* this */
            getfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
            getstatic com.fasterxml.jackson.databind.SerializationFeature.INDENT_OUTPUT:Lcom/fasterxml/jackson/databind/SerializationFeature;
            aload 0 /* this */
            getfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.prettyPrint:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual com.fasterxml.jackson.databind.ObjectMapper.configure:(Lcom/fasterxml/jackson/databind/SerializationFeature;Z)Lcom/fasterxml/jackson/databind/ObjectMapper;
            pop
         2: .line 148
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;

  public boolean canRead(java.lang.Class<?>, org.springframework.http.MediaType);
    descriptor: (Ljava/lang/Class;Lorg/springframework/http/MediaType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
        start local 1 // java.lang.Class clazz
        start local 2 // org.springframework.http.MediaType mediaType
         0: .line 153
            aload 0 /* this */
            aload 1 /* clazz */
            aconst_null
            aload 2 /* mediaType */
            invokevirtual org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.canRead:(Ljava/lang/reflect/Type;Ljava/lang/Class;Lorg/springframework/http/MediaType;)Z
            ireturn
        end local 2 // org.springframework.http.MediaType mediaType
        end local 1 // java.lang.Class clazz
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;
            0    1     1      clazz  Ljava/lang/Class<*>;
            0    1     2  mediaType  Lorg/springframework/http/MediaType;
    Signature: (Ljava/lang/Class<*>;Lorg/springframework/http/MediaType;)Z
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      clazz      
      mediaType  

  public boolean canRead(java.lang.reflect.Type, java.lang.Class<?>, org.springframework.http.MediaType);
    descriptor: (Ljava/lang/reflect/Type;Ljava/lang/Class;Lorg/springframework/http/MediaType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
        start local 1 // java.lang.reflect.Type type
        start local 2 // java.lang.Class contextClass
        start local 3 // org.springframework.http.MediaType mediaType
         0: .line 158
            aload 0 /* this */
            aload 3 /* mediaType */
            invokevirtual org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.canRead:(Lorg/springframework/http/MediaType;)Z
            ifne 2
         1: .line 159
            iconst_0
            ireturn
         2: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            aload 2 /* contextClass */
            invokevirtual org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.getJavaType:(Ljava/lang/reflect/Type;Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/JavaType;
            astore 4 /* javaType */
        start local 4 // com.fasterxml.jackson.databind.JavaType javaType
         3: .line 162
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            astore 5 /* causeRef */
        start local 5 // java.util.concurrent.atomic.AtomicReference causeRef
         4: .line 163
            aload 0 /* this */
            getfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
            aload 4 /* javaType */
            aload 5 /* causeRef */
            invokevirtual com.fasterxml.jackson.databind.ObjectMapper.canDeserialize:(Lcom/fasterxml/jackson/databind/JavaType;Ljava/util/concurrent/atomic/AtomicReference;)Z
            ifeq 6
         5: .line 164
            iconst_1
            ireturn
         6: .line 166
      StackMap locals: com.fasterxml.jackson.databind.JavaType java.util.concurrent.atomic.AtomicReference
      StackMap stack:
            aload 0 /* this */
            aload 4 /* javaType */
            aload 5 /* causeRef */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            invokevirtual org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.logWarningIfNecessary:(Ljava/lang/reflect/Type;Ljava/lang/Throwable;)V
         7: .line 167
            iconst_0
            ireturn
        end local 5 // java.util.concurrent.atomic.AtomicReference causeRef
        end local 4 // com.fasterxml.jackson.databind.JavaType javaType
        end local 3 // org.springframework.http.MediaType mediaType
        end local 2 // java.lang.Class contextClass
        end local 1 // java.lang.reflect.Type type
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;
            0    8     1          type  Ljava/lang/reflect/Type;
            0    8     2  contextClass  Ljava/lang/Class<*>;
            0    8     3     mediaType  Lorg/springframework/http/MediaType;
            3    8     4      javaType  Lcom/fasterxml/jackson/databind/JavaType;
            4    8     5      causeRef  Ljava/util/concurrent/atomic/AtomicReference<Ljava/lang/Throwable;>;
    Signature: (Ljava/lang/reflect/Type;Ljava/lang/Class<*>;Lorg/springframework/http/MediaType;)Z
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
              Name  Flags
      type          
      contextClass  
      mediaType     

  public boolean canWrite(java.lang.Class<?>, org.springframework.http.MediaType);
    descriptor: (Ljava/lang/Class;Lorg/springframework/http/MediaType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
        start local 1 // java.lang.Class clazz
        start local 2 // org.springframework.http.MediaType mediaType
         0: .line 172
            aload 0 /* this */
            aload 2 /* mediaType */
            invokevirtual org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.canWrite:(Lorg/springframework/http/MediaType;)Z
            ifne 2
         1: .line 173
            iconst_0
            ireturn
         2: .line 175
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            astore 3 /* causeRef */
        start local 3 // java.util.concurrent.atomic.AtomicReference causeRef
         3: .line 176
            aload 0 /* this */
            getfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
            aload 1 /* clazz */
            aload 3 /* causeRef */
            invokevirtual com.fasterxml.jackson.databind.ObjectMapper.canSerialize:(Ljava/lang/Class;Ljava/util/concurrent/atomic/AtomicReference;)Z
            ifeq 5
         4: .line 177
            iconst_1
            ireturn
         5: .line 179
      StackMap locals: java.util.concurrent.atomic.AtomicReference
      StackMap stack:
            aload 0 /* this */
            aload 1 /* clazz */
            aload 3 /* causeRef */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            invokevirtual org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.logWarningIfNecessary:(Ljava/lang/reflect/Type;Ljava/lang/Throwable;)V
         6: .line 180
            iconst_0
            ireturn
        end local 3 // java.util.concurrent.atomic.AtomicReference causeRef
        end local 2 // org.springframework.http.MediaType mediaType
        end local 1 // java.lang.Class clazz
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;
            0    7     1      clazz  Ljava/lang/Class<*>;
            0    7     2  mediaType  Lorg/springframework/http/MediaType;
            3    7     3   causeRef  Ljava/util/concurrent/atomic/AtomicReference<Ljava/lang/Throwable;>;
    Signature: (Ljava/lang/Class<*>;Lorg/springframework/http/MediaType;)Z
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      clazz      
      mediaType  

  protected void logWarningIfNecessary(java.lang.reflect.Type, java.lang.Throwable);
    descriptor: (Ljava/lang/reflect/Type;Ljava/lang/Throwable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
        start local 1 // java.lang.reflect.Type type
        start local 2 // java.lang.Throwable cause
         0: .line 192
            aload 2 /* cause */
            ifnonnull 2
         1: .line 193
            return
         2: .line 197
      StackMap locals:
      StackMap stack:
            aload 2 /* cause */
            instanceof com.fasterxml.jackson.databind.JsonMappingException
            ifeq 3
            aload 2 /* cause */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            ldc "Cannot find"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 3 /* debugLevel */
        start local 3 // boolean debugLevel
         5: .line 199
            iload 3 /* debugLevel */
            ifeq 6
            aload 0 /* this */
            getfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 19
            goto 7
      StackMap locals: int
      StackMap stack:
         6: aload 0 /* this */
            getfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isWarnEnabled:()Z
            ifeq 19
         7: .line 200
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Failed to evaluate Jackson "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* type */
            instanceof com.fasterxml.jackson.databind.JavaType
            ifeq 8
            ldc "de"
            goto 9
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         8: ldc ""
      StackMap locals: org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter java.lang.reflect.Type java.lang.Throwable int
      StackMap stack: java.lang.StringBuilder java.lang.String
         9: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 201
            ldc "serialization for type ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 200
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* msg */
        start local 4 // java.lang.String msg
        12: .line 202
            iload 3 /* debugLevel */
            ifeq 15
        13: .line 203
            aload 0 /* this */
            getfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.logger:Lorg/apache/commons/logging/Log;
            aload 4 /* msg */
            aload 2 /* cause */
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        14: .line 204
            goto 19
        15: .line 205
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 18
        16: .line 206
            aload 0 /* this */
            getfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.logger:Lorg/apache/commons/logging/Log;
            aload 4 /* msg */
            aload 2 /* cause */
            invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        17: .line 207
            goto 19
        18: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            aload 4 /* msg */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* cause */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
        end local 4 // java.lang.String msg
        19: .line 212
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean debugLevel
        end local 2 // java.lang.Throwable cause
        end local 1 // java.lang.reflect.Type type
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;
            0   20     1        type  Ljava/lang/reflect/Type;
            0   20     2       cause  Ljava/lang/Throwable;
            5   20     3  debugLevel  Z
           12   19     4         msg  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
       Name  Flags
      type   
      cause  

  protected  readInternal(java.lang.Class<?>, org.springframework.http.HttpInputMessage);
    descriptor: (Ljava/lang/Class;Lorg/springframework/http/HttpInputMessage;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
        start local 1 // java.lang.Class clazz
        start local 2 // org.springframework.http.HttpInputMessage inputMessage
         0: .line 218
            aload 0 /* this */
            aload 1 /* clazz */
            aconst_null
            invokevirtual org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.getJavaType:(Ljava/lang/reflect/Type;Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/JavaType;
            astore 3 /* javaType */
        start local 3 // com.fasterxml.jackson.databind.JavaType javaType
         1: .line 219
            aload 0 /* this */
            aload 3 /* javaType */
            aload 2 /* inputMessage */
            invokevirtual org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType:(Lcom/fasterxml/jackson/databind/JavaType;Lorg/springframework/http/HttpInputMessage;)Ljava/lang/Object;
            areturn
        end local 3 // com.fasterxml.jackson.databind.JavaType javaType
        end local 2 // org.springframework.http.HttpInputMessage inputMessage
        end local 1 // java.lang.Class clazz
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;
            0    2     1         clazz  Ljava/lang/Class<*>;
            0    2     2  inputMessage  Lorg/springframework/http/HttpInputMessage;
            1    2     3      javaType  Lcom/fasterxml/jackson/databind/JavaType;
    Exceptions:
      throws java.io.IOException, org.springframework.http.converter.HttpMessageNotReadableException
    Signature: (Ljava/lang/Class<*>;Lorg/springframework/http/HttpInputMessage;)Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      clazz         
      inputMessage  

  public  read(java.lang.reflect.Type, java.lang.Class<?>, org.springframework.http.HttpInputMessage);
    descriptor: (Ljava/lang/reflect/Type;Ljava/lang/Class;Lorg/springframework/http/HttpInputMessage;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
        start local 1 // java.lang.reflect.Type type
        start local 2 // java.lang.Class contextClass
        start local 3 // org.springframework.http.HttpInputMessage inputMessage
         0: .line 226
            aload 0 /* this */
            aload 1 /* type */
            aload 2 /* contextClass */
            invokevirtual org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.getJavaType:(Ljava/lang/reflect/Type;Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/JavaType;
            astore 4 /* javaType */
        start local 4 // com.fasterxml.jackson.databind.JavaType javaType
         1: .line 227
            aload 0 /* this */
            aload 4 /* javaType */
            aload 3 /* inputMessage */
            invokevirtual org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType:(Lcom/fasterxml/jackson/databind/JavaType;Lorg/springframework/http/HttpInputMessage;)Ljava/lang/Object;
            areturn
        end local 4 // com.fasterxml.jackson.databind.JavaType javaType
        end local 3 // org.springframework.http.HttpInputMessage inputMessage
        end local 2 // java.lang.Class contextClass
        end local 1 // java.lang.reflect.Type type
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;
            0    2     1          type  Ljava/lang/reflect/Type;
            0    2     2  contextClass  Ljava/lang/Class<*>;
            0    2     3  inputMessage  Lorg/springframework/http/HttpInputMessage;
            1    2     4      javaType  Lcom/fasterxml/jackson/databind/JavaType;
    Exceptions:
      throws java.io.IOException, org.springframework.http.converter.HttpMessageNotReadableException
    Signature: (Ljava/lang/reflect/Type;Ljava/lang/Class<*>;Lorg/springframework/http/HttpInputMessage;)Ljava/lang/Object;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
              Name  Flags
      type          
      contextClass  
      inputMessage  

  private java.lang.Object readJavaType(com.fasterxml.jackson.databind.JavaType, org.springframework.http.HttpInputMessage);
    descriptor: (Lcom/fasterxml/jackson/databind/JavaType;Lorg/springframework/http/HttpInputMessage;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
        start local 1 // com.fasterxml.jackson.databind.JavaType javaType
        start local 2 // org.springframework.http.HttpInputMessage inputMessage
         0: .line 232
            aload 2 /* inputMessage */
            instanceof org.springframework.http.converter.json.MappingJacksonInputMessage
            ifeq 6
         1: .line 233
            aload 2 /* inputMessage */
            checkcast org.springframework.http.converter.json.MappingJacksonInputMessage
            invokevirtual org.springframework.http.converter.json.MappingJacksonInputMessage.getDeserializationView:()Ljava/lang/Class;
            astore 3 /* deserializationView */
        start local 3 // java.lang.Class deserializationView
         2: .line 234
            aload 3 /* deserializationView */
            ifnull 6
         3: .line 235
            aload 0 /* this */
            getfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
            aload 3 /* deserializationView */
            invokevirtual com.fasterxml.jackson.databind.ObjectMapper.readerWithView:(Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/ObjectReader;
            aload 1 /* javaType */
            invokevirtual com.fasterxml.jackson.databind.ObjectReader.forType:(Lcom/fasterxml/jackson/databind/JavaType;)Lcom/fasterxml/jackson/databind/ObjectReader;
         4: .line 236
            aload 2 /* inputMessage */
            invokeinterface org.springframework.http.HttpInputMessage.getBody:()Ljava/io/InputStream;
            invokevirtual com.fasterxml.jackson.databind.ObjectReader.readValue:(Ljava/io/InputStream;)Ljava/lang/Object;
         5: .line 235
            areturn
        end local 3 // java.lang.Class deserializationView
         6: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
            aload 2 /* inputMessage */
            invokeinterface org.springframework.http.HttpInputMessage.getBody:()Ljava/io/InputStream;
            aload 1 /* javaType */
            invokevirtual com.fasterxml.jackson.databind.ObjectMapper.readValue:(Ljava/io/InputStream;Lcom/fasterxml/jackson/databind/JavaType;)Ljava/lang/Object;
         7: areturn
         8: .line 241
      StackMap locals:
      StackMap stack: com.fasterxml.jackson.databind.exc.InvalidDefinitionException
            astore 3 /* ex */
        start local 3 // com.fasterxml.jackson.databind.exc.InvalidDefinitionException ex
         9: .line 242
            new org.springframework.http.converter.HttpMessageConversionException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Type definition error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* ex */
            invokevirtual com.fasterxml.jackson.databind.exc.InvalidDefinitionException.getType:()Lcom/fasterxml/jackson/databind/JavaType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* ex */
            invokespecial org.springframework.http.converter.HttpMessageConversionException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // com.fasterxml.jackson.databind.exc.InvalidDefinitionException ex
        10: .line 244
      StackMap locals:
      StackMap stack: com.fasterxml.jackson.core.JsonProcessingException
            astore 3 /* ex */
        start local 3 // com.fasterxml.jackson.core.JsonProcessingException ex
        11: .line 245
            new org.springframework.http.converter.HttpMessageNotReadableException
            dup
            new java.lang.StringBuilder
            dup
            ldc "JSON parse error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* ex */
            invokevirtual com.fasterxml.jackson.core.JsonProcessingException.getOriginalMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* ex */
            aload 2 /* inputMessage */
            invokespecial org.springframework.http.converter.HttpMessageNotReadableException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Lorg/springframework/http/HttpInputMessage;)V
            athrow
        end local 3 // com.fasterxml.jackson.core.JsonProcessingException ex
        end local 2 // org.springframework.http.HttpInputMessage inputMessage
        end local 1 // com.fasterxml.jackson.databind.JavaType javaType
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   12     0                 this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;
            0   12     1             javaType  Lcom/fasterxml/jackson/databind/JavaType;
            0   12     2         inputMessage  Lorg/springframework/http/HttpInputMessage;
            2    6     3  deserializationView  Ljava/lang/Class<*>;
            9   10     3                   ex  Lcom/fasterxml/jackson/databind/exc/InvalidDefinitionException;
           11   12     3                   ex  Lcom/fasterxml/jackson/core/JsonProcessingException;
      Exception table:
        from    to  target  type
           0     5       8  Class com.fasterxml.jackson.databind.exc.InvalidDefinitionException
           6     7       8  Class com.fasterxml.jackson.databind.exc.InvalidDefinitionException
           0     5      10  Class com.fasterxml.jackson.core.JsonProcessingException
           6     7      10  Class com.fasterxml.jackson.core.JsonProcessingException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      javaType      
      inputMessage  

  protected void writeInternal(java.lang.Object, java.lang.reflect.Type, org.springframework.http.HttpOutputMessage);
    descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Type;Lorg/springframework/http/HttpOutputMessage;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=13, args_size=4
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
        start local 1 // java.lang.Object object
        start local 2 // java.lang.reflect.Type type
        start local 3 // org.springframework.http.HttpOutputMessage outputMessage
         0: .line 253
            aload 3 /* outputMessage */
            invokeinterface org.springframework.http.HttpOutputMessage.getHeaders:()Lorg/springframework/http/HttpHeaders;
            invokevirtual org.springframework.http.HttpHeaders.getContentType:()Lorg/springframework/http/MediaType;
            astore 4 /* contentType */
        start local 4 // org.springframework.http.MediaType contentType
         1: .line 254
            aload 0 /* this */
            aload 4 /* contentType */
            invokevirtual org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.getJsonEncoding:(Lorg/springframework/http/MediaType;)Lcom/fasterxml/jackson/core/JsonEncoding;
            astore 5 /* encoding */
        start local 5 // com.fasterxml.jackson.core.JsonEncoding encoding
         2: .line 255
            aload 0 /* this */
            getfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
            invokevirtual com.fasterxml.jackson.databind.ObjectMapper.getFactory:()Lcom/fasterxml/jackson/core/JsonFactory;
            aload 3 /* outputMessage */
            invokeinterface org.springframework.http.HttpOutputMessage.getBody:()Ljava/io/OutputStream;
            aload 5 /* encoding */
            invokevirtual com.fasterxml.jackson.core.JsonFactory.createGenerator:(Ljava/io/OutputStream;Lcom/fasterxml/jackson/core/JsonEncoding;)Lcom/fasterxml/jackson/core/JsonGenerator;
            astore 6 /* generator */
        start local 6 // com.fasterxml.jackson.core.JsonGenerator generator
         3: .line 257
            aload 0 /* this */
            aload 6 /* generator */
            aload 1 /* object */
            invokevirtual org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writePrefix:(Lcom/fasterxml/jackson/core/JsonGenerator;Ljava/lang/Object;)V
         4: .line 259
            aload 1 /* object */
            astore 7 /* value */
        start local 7 // java.lang.Object value
         5: .line 260
            aconst_null
            astore 8 /* serializationView */
        start local 8 // java.lang.Class serializationView
         6: .line 261
            aconst_null
            astore 9 /* filters */
        start local 9 // com.fasterxml.jackson.databind.ser.FilterProvider filters
         7: .line 262
            aconst_null
            astore 10 /* javaType */
        start local 10 // com.fasterxml.jackson.databind.JavaType javaType
         8: .line 264
            aload 1 /* object */
            instanceof org.springframework.http.converter.json.MappingJacksonValue
            ifeq 13
         9: .line 265
            aload 1 /* object */
            checkcast org.springframework.http.converter.json.MappingJacksonValue
            astore 11 /* container */
        start local 11 // org.springframework.http.converter.json.MappingJacksonValue container
        10: .line 266
            aload 11 /* container */
            invokevirtual org.springframework.http.converter.json.MappingJacksonValue.getValue:()Ljava/lang/Object;
            astore 7 /* value */
        11: .line 267
            aload 11 /* container */
            invokevirtual org.springframework.http.converter.json.MappingJacksonValue.getSerializationView:()Ljava/lang/Class;
            astore 8 /* serializationView */
        12: .line 268
            aload 11 /* container */
            invokevirtual org.springframework.http.converter.json.MappingJacksonValue.getFilters:()Lcom/fasterxml/jackson/databind/ser/FilterProvider;
            astore 9 /* filters */
        end local 11 // org.springframework.http.converter.json.MappingJacksonValue container
        13: .line 270
      StackMap locals: org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter java.lang.Object java.lang.reflect.Type org.springframework.http.HttpOutputMessage org.springframework.http.MediaType com.fasterxml.jackson.core.JsonEncoding com.fasterxml.jackson.core.JsonGenerator java.lang.Object java.lang.Class com.fasterxml.jackson.databind.ser.FilterProvider com.fasterxml.jackson.databind.JavaType
      StackMap stack:
            aload 2 /* type */
            ifnull 15
            aload 2 /* type */
            aload 7 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.springframework.util.TypeUtils.isAssignable:(Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;)Z
            ifeq 15
        14: .line 271
            aload 0 /* this */
            aload 2 /* type */
            aconst_null
            invokevirtual org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.getJavaType:(Ljava/lang/reflect/Type;Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/JavaType;
            astore 10 /* javaType */
        15: .line 274
      StackMap locals:
      StackMap stack:
            aload 8 /* serializationView */
            ifnull 17
        16: .line 275
            aload 0 /* this */
            getfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
            aload 8 /* serializationView */
            invokevirtual com.fasterxml.jackson.databind.ObjectMapper.writerWithView:(Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/ObjectWriter;
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 0 /* this */
            getfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
            invokevirtual com.fasterxml.jackson.databind.ObjectMapper.writer:()Lcom/fasterxml/jackson/databind/ObjectWriter;
        18: .line 274
      StackMap locals:
      StackMap stack: com.fasterxml.jackson.databind.ObjectWriter
            astore 11 /* objectWriter */
        start local 11 // com.fasterxml.jackson.databind.ObjectWriter objectWriter
        19: .line 276
            aload 9 /* filters */
            ifnull 21
        20: .line 277
            aload 11 /* objectWriter */
            aload 9 /* filters */
            invokevirtual com.fasterxml.jackson.databind.ObjectWriter.with:(Lcom/fasterxml/jackson/databind/ser/FilterProvider;)Lcom/fasterxml/jackson/databind/ObjectWriter;
            astore 11 /* objectWriter */
        21: .line 279
      StackMap locals: com.fasterxml.jackson.databind.ObjectWriter
      StackMap stack:
            aload 10 /* javaType */
            ifnull 23
            aload 10 /* javaType */
            invokevirtual com.fasterxml.jackson.databind.JavaType.isContainerType:()Z
            ifeq 23
        22: .line 280
            aload 11 /* objectWriter */
            aload 10 /* javaType */
            invokevirtual com.fasterxml.jackson.databind.ObjectWriter.forType:(Lcom/fasterxml/jackson/databind/JavaType;)Lcom/fasterxml/jackson/databind/ObjectWriter;
            astore 11 /* objectWriter */
        23: .line 282
      StackMap locals:
      StackMap stack:
            aload 11 /* objectWriter */
            invokevirtual com.fasterxml.jackson.databind.ObjectWriter.getConfig:()Lcom/fasterxml/jackson/databind/SerializationConfig;
            astore 12 /* config */
        start local 12 // com.fasterxml.jackson.databind.SerializationConfig config
        24: .line 283
            aload 4 /* contentType */
            ifnull 27
            aload 4 /* contentType */
            getstatic org.springframework.http.MediaType.TEXT_EVENT_STREAM:Lorg/springframework/http/MediaType;
            invokevirtual org.springframework.http.MediaType.isCompatibleWith:(Lorg/springframework/http/MediaType;)Z
            ifeq 27
        25: .line 284
            aload 12 /* config */
            getstatic com.fasterxml.jackson.databind.SerializationFeature.INDENT_OUTPUT:Lcom/fasterxml/jackson/databind/SerializationFeature;
            invokevirtual com.fasterxml.jackson.databind.SerializationConfig.isEnabled:(Lcom/fasterxml/jackson/databind/SerializationFeature;)Z
            ifeq 27
        26: .line 285
            aload 11 /* objectWriter */
            aload 0 /* this */
            getfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.ssePrettyPrinter:Lcom/fasterxml/jackson/core/PrettyPrinter;
            invokevirtual com.fasterxml.jackson.databind.ObjectWriter.with:(Lcom/fasterxml/jackson/core/PrettyPrinter;)Lcom/fasterxml/jackson/databind/ObjectWriter;
            astore 11 /* objectWriter */
        27: .line 287
      StackMap locals: com.fasterxml.jackson.databind.SerializationConfig
      StackMap stack:
            aload 11 /* objectWriter */
            aload 6 /* generator */
            aload 7 /* value */
            invokevirtual com.fasterxml.jackson.databind.ObjectWriter.writeValue:(Lcom/fasterxml/jackson/core/JsonGenerator;Ljava/lang/Object;)V
        28: .line 289
            aload 0 /* this */
            aload 6 /* generator */
            aload 1 /* object */
            invokevirtual org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeSuffix:(Lcom/fasterxml/jackson/core/JsonGenerator;Ljava/lang/Object;)V
        29: .line 290
            aload 6 /* generator */
            invokevirtual com.fasterxml.jackson.core.JsonGenerator.flush:()V
        end local 12 // com.fasterxml.jackson.databind.SerializationConfig config
        end local 11 // com.fasterxml.jackson.databind.ObjectWriter objectWriter
        end local 10 // com.fasterxml.jackson.databind.JavaType javaType
        end local 9 // com.fasterxml.jackson.databind.ser.FilterProvider filters
        end local 8 // java.lang.Class serializationView
        end local 7 // java.lang.Object value
        30: .line 291
            goto 35
        31: .line 292
      StackMap locals: org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter java.lang.Object java.lang.reflect.Type org.springframework.http.HttpOutputMessage org.springframework.http.MediaType com.fasterxml.jackson.core.JsonEncoding com.fasterxml.jackson.core.JsonGenerator
      StackMap stack: com.fasterxml.jackson.databind.exc.InvalidDefinitionException
            astore 7 /* ex */
        start local 7 // com.fasterxml.jackson.databind.exc.InvalidDefinitionException ex
        32: .line 293
            new org.springframework.http.converter.HttpMessageConversionException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Type definition error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* ex */
            invokevirtual com.fasterxml.jackson.databind.exc.InvalidDefinitionException.getType:()Lcom/fasterxml/jackson/databind/JavaType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 7 /* ex */
            invokespecial org.springframework.http.converter.HttpMessageConversionException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // com.fasterxml.jackson.databind.exc.InvalidDefinitionException ex
        33: .line 295
      StackMap locals:
      StackMap stack: com.fasterxml.jackson.core.JsonProcessingException
            astore 7 /* ex */
        start local 7 // com.fasterxml.jackson.core.JsonProcessingException ex
        34: .line 296
            new org.springframework.http.converter.HttpMessageNotWritableException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not write JSON: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* ex */
            invokevirtual com.fasterxml.jackson.core.JsonProcessingException.getOriginalMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 7 /* ex */
            invokespecial org.springframework.http.converter.HttpMessageNotWritableException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // com.fasterxml.jackson.core.JsonProcessingException ex
        35: .line 298
      StackMap locals:
      StackMap stack:
            return
        end local 6 // com.fasterxml.jackson.core.JsonGenerator generator
        end local 5 // com.fasterxml.jackson.core.JsonEncoding encoding
        end local 4 // org.springframework.http.MediaType contentType
        end local 3 // org.springframework.http.HttpOutputMessage outputMessage
        end local 2 // java.lang.reflect.Type type
        end local 1 // java.lang.Object object
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   36     0               this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;
            0   36     1             object  Ljava/lang/Object;
            0   36     2               type  Ljava/lang/reflect/Type;
            0   36     3      outputMessage  Lorg/springframework/http/HttpOutputMessage;
            1   36     4        contentType  Lorg/springframework/http/MediaType;
            2   36     5           encoding  Lcom/fasterxml/jackson/core/JsonEncoding;
            3   36     6          generator  Lcom/fasterxml/jackson/core/JsonGenerator;
            5   30     7              value  Ljava/lang/Object;
            6   30     8  serializationView  Ljava/lang/Class<*>;
            7   30     9            filters  Lcom/fasterxml/jackson/databind/ser/FilterProvider;
            8   30    10           javaType  Lcom/fasterxml/jackson/databind/JavaType;
           10   13    11          container  Lorg/springframework/http/converter/json/MappingJacksonValue;
           19   30    11       objectWriter  Lcom/fasterxml/jackson/databind/ObjectWriter;
           24   30    12             config  Lcom/fasterxml/jackson/databind/SerializationConfig;
           32   33     7                 ex  Lcom/fasterxml/jackson/databind/exc/InvalidDefinitionException;
           34   35     7                 ex  Lcom/fasterxml/jackson/core/JsonProcessingException;
      Exception table:
        from    to  target  type
           3    30      31  Class com.fasterxml.jackson.databind.exc.InvalidDefinitionException
           3    30      33  Class com.fasterxml.jackson.core.JsonProcessingException
    Exceptions:
      throws java.io.IOException, org.springframework.http.converter.HttpMessageNotWritableException
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
               Name  Flags
      object         
      type           
      outputMessage  

  protected void writePrefix(com.fasterxml.jackson.core.JsonGenerator, java.lang.Object);
    descriptor: (Lcom/fasterxml/jackson/core/JsonGenerator;Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
        start local 1 // com.fasterxml.jackson.core.JsonGenerator generator
        start local 2 // java.lang.Object object
         0: .line 306
            return
        end local 2 // java.lang.Object object
        end local 1 // com.fasterxml.jackson.core.JsonGenerator generator
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;
            0    1     1  generator  Lcom/fasterxml/jackson/core/JsonGenerator;
            0    1     2     object  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      generator  
      object     

  protected void writeSuffix(com.fasterxml.jackson.core.JsonGenerator, java.lang.Object);
    descriptor: (Lcom/fasterxml/jackson/core/JsonGenerator;Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
        start local 1 // com.fasterxml.jackson.core.JsonGenerator generator
        start local 2 // java.lang.Object object
         0: .line 314
            return
        end local 2 // java.lang.Object object
        end local 1 // com.fasterxml.jackson.core.JsonGenerator generator
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;
            0    1     1  generator  Lcom/fasterxml/jackson/core/JsonGenerator;
            0    1     2     object  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      generator  
      object     

  protected com.fasterxml.jackson.databind.JavaType getJavaType(java.lang.reflect.Type, java.lang.Class<?>);
    descriptor: (Ljava/lang/reflect/Type;Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/JavaType;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
        start local 1 // java.lang.reflect.Type type
        start local 2 // java.lang.Class contextClass
         0: .line 324
            aload 0 /* this */
            getfield org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
            invokevirtual com.fasterxml.jackson.databind.ObjectMapper.getTypeFactory:()Lcom/fasterxml/jackson/databind/type/TypeFactory;
            astore 3 /* typeFactory */
        start local 3 // com.fasterxml.jackson.databind.type.TypeFactory typeFactory
         1: .line 325
            aload 3 /* typeFactory */
            aload 1 /* type */
            aload 2 /* contextClass */
            invokestatic org.springframework.core.GenericTypeResolver.resolveType:(Ljava/lang/reflect/Type;Ljava/lang/Class;)Ljava/lang/reflect/Type;
            invokevirtual com.fasterxml.jackson.databind.type.TypeFactory.constructType:(Ljava/lang/reflect/Type;)Lcom/fasterxml/jackson/databind/JavaType;
            areturn
        end local 3 // com.fasterxml.jackson.databind.type.TypeFactory typeFactory
        end local 2 // java.lang.Class contextClass
        end local 1 // java.lang.reflect.Type type
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;
            0    2     1          type  Ljava/lang/reflect/Type;
            0    2     2  contextClass  Ljava/lang/Class<*>;
            1    2     3   typeFactory  Lcom/fasterxml/jackson/databind/type/TypeFactory;
    Signature: (Ljava/lang/reflect/Type;Ljava/lang/Class<*>;)Lcom/fasterxml/jackson/databind/JavaType;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
              Name  Flags
      type          
      contextClass  

  protected com.fasterxml.jackson.core.JsonEncoding getJsonEncoding(org.springframework.http.MediaType);
    descriptor: (Lorg/springframework/http/MediaType;)Lcom/fasterxml/jackson/core/JsonEncoding;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
        start local 1 // org.springframework.http.MediaType contentType
         0: .line 334
            aload 1 /* contentType */
            ifnull 8
            aload 1 /* contentType */
            invokevirtual org.springframework.http.MediaType.getCharset:()Ljava/nio/charset/Charset;
            ifnull 8
         1: .line 335
            aload 1 /* contentType */
            invokevirtual org.springframework.http.MediaType.getCharset:()Ljava/nio/charset/Charset;
            astore 2 /* charset */
        start local 2 // java.nio.charset.Charset charset
         2: .line 336
            invokestatic com.fasterxml.jackson.core.JsonEncoding.values:()[Lcom/fasterxml/jackson/core/JsonEncoding;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter org.springframework.http.MediaType java.nio.charset.Charset top int int com.fasterxml.jackson.core.JsonEncoding[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* encoding */
        start local 3 // com.fasterxml.jackson.core.JsonEncoding encoding
         4: .line 337
            aload 2 /* charset */
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            aload 3 /* encoding */
            invokevirtual com.fasterxml.jackson.core.JsonEncoding.getJavaName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 338
            aload 3 /* encoding */
            areturn
        end local 3 // com.fasterxml.jackson.core.JsonEncoding encoding
         6: .line 336
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 3
        end local 2 // java.nio.charset.Charset charset
         8: .line 342
      StackMap locals: org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter org.springframework.http.MediaType
      StackMap stack:
            getstatic com.fasterxml.jackson.core.JsonEncoding.UTF8:Lcom/fasterxml/jackson/core/JsonEncoding;
            areturn
        end local 1 // org.springframework.http.MediaType contentType
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;
            0    9     1  contentType  Lorg/springframework/http/MediaType;
            2    8     2      charset  Ljava/nio/charset/Charset;
            4    6     3     encoding  Lcom/fasterxml/jackson/core/JsonEncoding;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
             Name  Flags
      contentType  

  protected org.springframework.http.MediaType getDefaultContentType(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/springframework/http/MediaType;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
        start local 1 // java.lang.Object object
         0: .line 348
            aload 1 /* object */
            instanceof org.springframework.http.converter.json.MappingJacksonValue
            ifeq 2
         1: .line 349
            aload 1 /* object */
            checkcast org.springframework.http.converter.json.MappingJacksonValue
            invokevirtual org.springframework.http.converter.json.MappingJacksonValue.getValue:()Ljava/lang/Object;
            astore 1 /* object */
         2: .line 351
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* object */
            invokespecial org.springframework.http.converter.AbstractGenericHttpMessageConverter.getDefaultContentType:(Ljava/lang/Object;)Lorg/springframework/http/MediaType;
            areturn
        end local 1 // java.lang.Object object
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;
            0    3     1  object  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
        Name  Flags
      object  

  protected java.lang.Long getContentLength(java.lang.Object, org.springframework.http.MediaType);
    descriptor: (Ljava/lang/Object;Lorg/springframework/http/MediaType;)Ljava/lang/Long;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
        start local 1 // java.lang.Object object
        start local 2 // org.springframework.http.MediaType contentType
         0: .line 356
            aload 1 /* object */
            instanceof org.springframework.http.converter.json.MappingJacksonValue
            ifeq 2
         1: .line 357
            aload 1 /* object */
            checkcast org.springframework.http.converter.json.MappingJacksonValue
            invokevirtual org.springframework.http.converter.json.MappingJacksonValue.getValue:()Ljava/lang/Object;
            astore 1 /* object */
         2: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* contentType */
            invokespecial org.springframework.http.converter.AbstractGenericHttpMessageConverter.getContentLength:(Ljava/lang/Object;Lorg/springframework/http/MediaType;)Ljava/lang/Long;
            areturn
        end local 2 // org.springframework.http.MediaType contentType
        end local 1 // java.lang.Object object
        end local 0 // org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/springframework/http/converter/json/AbstractJackson2HttpMessageConverter;
            0    3     1       object  Ljava/lang/Object;
            0    3     2  contentType  Lorg/springframework/http/MediaType;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
             Name  Flags
      object       
      contentType  
}
Signature: Lorg/springframework/http/converter/AbstractGenericHttpMessageConverter<Ljava/lang/Object;>;
SourceFile: "AbstractJackson2HttpMessageConverter.java"
InnerClasses:
  public abstract Indenter = com.fasterxml.jackson.core.util.DefaultPrettyPrinter$Indenter of com.fasterxml.jackson.core.util.DefaultPrettyPrinter