class org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor<T> implements org.springframework.web.client.ResponseExtractor<org.springframework.http.ResponseEntity<T>>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor
  super_class: java.lang.Object
{
  private final org.springframework.web.client.HttpMessageConverterExtractor<T> delegate;
    descriptor: Lorg/springframework/web/client/HttpMessageConverterExtractor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/springframework/web/client/HttpMessageConverterExtractor<TT;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  final org.springframework.web.client.RestTemplate this$0;
    descriptor: Lorg/springframework/web/client/RestTemplate;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(org.springframework.web.client.RestTemplate, java.lang.reflect.Type);
    descriptor: (Lorg/springframework/web/client/RestTemplate;Ljava/lang/reflect/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor this
        start local 2 // java.lang.reflect.Type responseType
         0: .line 983
            aload 0 /* this */
            aload 1
            putfield org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.this$0:Lorg/springframework/web/client/RestTemplate;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 984
            aload 2 /* responseType */
            ifnull 4
            ldc Ljava/lang/Void;
            aload 2 /* responseType */
            if_acmpeq 4
         2: .line 985
            aload 0 /* this */
            new org.springframework.web.client.HttpMessageConverterExtractor
            dup
            aload 2 /* responseType */
            aload 1
            invokevirtual org.springframework.web.client.RestTemplate.getMessageConverters:()Ljava/util/List;
            aload 1
            invokestatic org.springframework.web.client.RestTemplate.access$0:(Lorg/springframework/web/client/RestTemplate;)Lorg/apache/commons/logging/Log;
            invokespecial org.springframework.web.client.HttpMessageConverterExtractor.<init>:(Ljava/lang/reflect/Type;Ljava/util/List;Lorg/apache/commons/logging/Log;)V
            putfield org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.delegate:Lorg/springframework/web/client/HttpMessageConverterExtractor;
         3: .line 986
            goto 5
         4: .line 988
      StackMap locals: org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor org.springframework.web.client.RestTemplate java.lang.reflect.Type
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.delegate:Lorg/springframework/web/client/HttpMessageConverterExtractor;
         5: .line 990
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.reflect.Type responseType
        end local 0 // org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/springframework/web/client/RestTemplate$ResponseEntityResponseExtractor<TT;>;
            0    6     2  responseType  Ljava/lang/reflect/Type;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
    MethodParameters:
              Name  Flags
      this$0        final
      responseType  

  public org.springframework.http.ResponseEntity<T> extractData(org.springframework.http.client.ClientHttpResponse);
    descriptor: (Lorg/springframework/http/client/ClientHttpResponse;)Lorg/springframework/http/ResponseEntity;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor this
        start local 1 // org.springframework.http.client.ClientHttpResponse response
         0: .line 994
            aload 0 /* this */
            getfield org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.delegate:Lorg/springframework/web/client/HttpMessageConverterExtractor;
            ifnull 3
         1: .line 995
            aload 0 /* this */
            getfield org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.delegate:Lorg/springframework/web/client/HttpMessageConverterExtractor;
            aload 1 /* response */
            invokevirtual org.springframework.web.client.HttpMessageConverterExtractor.extractData:(Lorg/springframework/http/client/ClientHttpResponse;)Ljava/lang/Object;
            astore 2 /* body */
        start local 2 // java.lang.Object body
         2: .line 996
            aload 1 /* response */
            invokeinterface org.springframework.http.client.ClientHttpResponse.getRawStatusCode:()I
            invokestatic org.springframework.http.ResponseEntity.status:(I)Lorg/springframework/http/ResponseEntity$BodyBuilder;
            aload 1 /* response */
            invokeinterface org.springframework.http.client.ClientHttpResponse.getHeaders:()Lorg/springframework/http/HttpHeaders;
            invokeinterface org.springframework.http.ResponseEntity$BodyBuilder.headers:(Lorg/springframework/http/HttpHeaders;)Lorg/springframework/http/ResponseEntity$HeadersBuilder;
            checkcast org.springframework.http.ResponseEntity$BodyBuilder
            aload 2 /* body */
            invokeinterface org.springframework.http.ResponseEntity$BodyBuilder.body:(Ljava/lang/Object;)Lorg/springframework/http/ResponseEntity;
            areturn
        end local 2 // java.lang.Object body
         3: .line 999
      StackMap locals:
      StackMap stack:
            aload 1 /* response */
            invokeinterface org.springframework.http.client.ClientHttpResponse.getRawStatusCode:()I
            invokestatic org.springframework.http.ResponseEntity.status:(I)Lorg/springframework/http/ResponseEntity$BodyBuilder;
            aload 1 /* response */
            invokeinterface org.springframework.http.client.ClientHttpResponse.getHeaders:()Lorg/springframework/http/HttpHeaders;
            invokeinterface org.springframework.http.ResponseEntity$BodyBuilder.headers:(Lorg/springframework/http/HttpHeaders;)Lorg/springframework/http/ResponseEntity$HeadersBuilder;
            checkcast org.springframework.http.ResponseEntity$BodyBuilder
            invokeinterface org.springframework.http.ResponseEntity$BodyBuilder.build:()Lorg/springframework/http/ResponseEntity;
            areturn
        end local 1 // org.springframework.http.client.ClientHttpResponse response
        end local 0 // org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/springframework/web/client/RestTemplate$ResponseEntityResponseExtractor<TT;>;
            0    4     1  response  Lorg/springframework/http/client/ClientHttpResponse;
            2    3     2      body  TT;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/springframework/http/client/ClientHttpResponse;)Lorg/springframework/http/ResponseEntity<TT;>;
    MethodParameters:
          Name  Flags
      response  

  public java.lang.Object extractData(org.springframework.http.client.ClientHttpResponse);
    descriptor: (Lorg/springframework/http/client/ClientHttpResponse;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData:(Lorg/springframework/http/client/ClientHttpResponse;)Lorg/springframework/http/ResponseEntity;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lorg/springframework/web/client/ResponseExtractor<Lorg/springframework/http/ResponseEntity<TT;>;>;
SourceFile: "RestTemplate.java"
NestHost: org.springframework.web.client.RestTemplate
InnerClasses:
  public abstract BodyBuilder = org.springframework.http.ResponseEntity$BodyBuilder of org.springframework.http.ResponseEntity
  public abstract HeadersBuilder = org.springframework.http.ResponseEntity$HeadersBuilder of org.springframework.http.ResponseEntity
  private ResponseEntityResponseExtractor = org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor of org.springframework.web.client.RestTemplate