class org.springframework.web.server.DefaultServerWebExchangeBuilder implements org.springframework.web.server.ServerWebExchange$Builder
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.web.server.DefaultServerWebExchangeBuilder
  super_class: java.lang.Object
{
  private final org.springframework.web.server.ServerWebExchange delegate;
    descriptor: Lorg/springframework/web/server/ServerWebExchange;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.springframework.http.server.reactive.ServerHttpRequest request;
    descriptor: Lorg/springframework/http/server/reactive/ServerHttpRequest;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private org.springframework.http.server.reactive.ServerHttpResponse response;
    descriptor: Lorg/springframework/http/server/reactive/ServerHttpResponse;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private reactor.core.publisher.Mono<java.security.Principal> principalMono;
    descriptor: Lreactor/core/publisher/Mono;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lreactor/core/publisher/Mono<Ljava/security/Principal;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  void <init>(org.springframework.web.server.ServerWebExchange);
    descriptor: (Lorg/springframework/web/server/ServerWebExchange;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.server.DefaultServerWebExchangeBuilder this
        start local 1 // org.springframework.web.server.ServerWebExchange delegate
         0: .line 49
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 50
            aload 1 /* delegate */
            ldc "Delegate is required"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 51
            aload 0 /* this */
            aload 1 /* delegate */
            putfield org.springframework.web.server.DefaultServerWebExchangeBuilder.delegate:Lorg/springframework/web/server/ServerWebExchange;
         3: .line 52
            return
        end local 1 // org.springframework.web.server.ServerWebExchange delegate
        end local 0 // org.springframework.web.server.DefaultServerWebExchangeBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/springframework/web/server/DefaultServerWebExchangeBuilder;
            0    4     1  delegate  Lorg/springframework/web/server/ServerWebExchange;
    MethodParameters:
          Name  Flags
      delegate  

  public org.springframework.web.server.ServerWebExchange$Builder request(java.util.function.Consumer<org.springframework.http.server.reactive.ServerHttpRequest$Builder>);
    descriptor: (Ljava/util/function/Consumer;)Lorg/springframework/web/server/ServerWebExchange$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.springframework.web.server.DefaultServerWebExchangeBuilder this
        start local 1 // java.util.function.Consumer consumer
         0: .line 57
            aload 0 /* this */
            getfield org.springframework.web.server.DefaultServerWebExchangeBuilder.delegate:Lorg/springframework/web/server/ServerWebExchange;
            invokeinterface org.springframework.web.server.ServerWebExchange.getRequest:()Lorg/springframework/http/server/reactive/ServerHttpRequest;
            invokeinterface org.springframework.http.server.reactive.ServerHttpRequest.mutate:()Lorg/springframework/http/server/reactive/ServerHttpRequest$Builder;
            astore 2 /* builder */
        start local 2 // org.springframework.http.server.reactive.ServerHttpRequest$Builder builder
         1: .line 58
            aload 1 /* consumer */
            aload 2 /* builder */
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
         2: .line 59
            aload 0 /* this */
            aload 2 /* builder */
            invokeinterface org.springframework.http.server.reactive.ServerHttpRequest$Builder.build:()Lorg/springframework/http/server/reactive/ServerHttpRequest;
            invokevirtual org.springframework.web.server.DefaultServerWebExchangeBuilder.request:(Lorg/springframework/http/server/reactive/ServerHttpRequest;)Lorg/springframework/web/server/ServerWebExchange$Builder;
            areturn
        end local 2 // org.springframework.http.server.reactive.ServerHttpRequest$Builder builder
        end local 1 // java.util.function.Consumer consumer
        end local 0 // org.springframework.web.server.DefaultServerWebExchangeBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/springframework/web/server/DefaultServerWebExchangeBuilder;
            0    3     1  consumer  Ljava/util/function/Consumer<Lorg/springframework/http/server/reactive/ServerHttpRequest$Builder;>;
            1    3     2   builder  Lorg/springframework/http/server/reactive/ServerHttpRequest$Builder;
    Signature: (Ljava/util/function/Consumer<Lorg/springframework/http/server/reactive/ServerHttpRequest$Builder;>;)Lorg/springframework/web/server/ServerWebExchange$Builder;
    MethodParameters:
          Name  Flags
      consumer  

  public org.springframework.web.server.ServerWebExchange$Builder request(org.springframework.http.server.reactive.ServerHttpRequest);
    descriptor: (Lorg/springframework/http/server/reactive/ServerHttpRequest;)Lorg/springframework/web/server/ServerWebExchange$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.server.DefaultServerWebExchangeBuilder this
        start local 1 // org.springframework.http.server.reactive.ServerHttpRequest request
         0: .line 64
            aload 0 /* this */
            aload 1 /* request */
            putfield org.springframework.web.server.DefaultServerWebExchangeBuilder.request:Lorg/springframework/http/server/reactive/ServerHttpRequest;
         1: .line 65
            aload 0 /* this */
            areturn
        end local 1 // org.springframework.http.server.reactive.ServerHttpRequest request
        end local 0 // org.springframework.web.server.DefaultServerWebExchangeBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/springframework/web/server/DefaultServerWebExchangeBuilder;
            0    2     1  request  Lorg/springframework/http/server/reactive/ServerHttpRequest;
    MethodParameters:
         Name  Flags
      request  

  public org.springframework.web.server.ServerWebExchange$Builder response(org.springframework.http.server.reactive.ServerHttpResponse);
    descriptor: (Lorg/springframework/http/server/reactive/ServerHttpResponse;)Lorg/springframework/web/server/ServerWebExchange$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.server.DefaultServerWebExchangeBuilder this
        start local 1 // org.springframework.http.server.reactive.ServerHttpResponse response
         0: .line 70
            aload 0 /* this */
            aload 1 /* response */
            putfield org.springframework.web.server.DefaultServerWebExchangeBuilder.response:Lorg/springframework/http/server/reactive/ServerHttpResponse;
         1: .line 71
            aload 0 /* this */
            areturn
        end local 1 // org.springframework.http.server.reactive.ServerHttpResponse response
        end local 0 // org.springframework.web.server.DefaultServerWebExchangeBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/springframework/web/server/DefaultServerWebExchangeBuilder;
            0    2     1  response  Lorg/springframework/http/server/reactive/ServerHttpResponse;
    MethodParameters:
          Name  Flags
      response  

  public org.springframework.web.server.ServerWebExchange$Builder principal(reactor.core.publisher.Mono<java.security.Principal>);
    descriptor: (Lreactor/core/publisher/Mono;)Lorg/springframework/web/server/ServerWebExchange$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.server.DefaultServerWebExchangeBuilder this
        start local 1 // reactor.core.publisher.Mono principalMono
         0: .line 76
            aload 0 /* this */
            aload 1 /* principalMono */
            putfield org.springframework.web.server.DefaultServerWebExchangeBuilder.principalMono:Lreactor/core/publisher/Mono;
         1: .line 77
            aload 0 /* this */
            areturn
        end local 1 // reactor.core.publisher.Mono principalMono
        end local 0 // org.springframework.web.server.DefaultServerWebExchangeBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/springframework/web/server/DefaultServerWebExchangeBuilder;
            0    2     1  principalMono  Lreactor/core/publisher/Mono<Ljava/security/Principal;>;
    Signature: (Lreactor/core/publisher/Mono<Ljava/security/Principal;>;)Lorg/springframework/web/server/ServerWebExchange$Builder;
    MethodParameters:
               Name  Flags
      principalMono  

  public org.springframework.web.server.ServerWebExchange build();
    descriptor: ()Lorg/springframework/web/server/ServerWebExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.springframework.web.server.DefaultServerWebExchangeBuilder this
         0: .line 82
            new org.springframework.web.server.DefaultServerWebExchangeBuilder$MutativeDecorator
            dup
            aload 0 /* this */
            getfield org.springframework.web.server.DefaultServerWebExchangeBuilder.delegate:Lorg/springframework/web/server/ServerWebExchange;
            aload 0 /* this */
            getfield org.springframework.web.server.DefaultServerWebExchangeBuilder.request:Lorg/springframework/http/server/reactive/ServerHttpRequest;
            aload 0 /* this */
            getfield org.springframework.web.server.DefaultServerWebExchangeBuilder.response:Lorg/springframework/http/server/reactive/ServerHttpResponse;
            aload 0 /* this */
            getfield org.springframework.web.server.DefaultServerWebExchangeBuilder.principalMono:Lreactor/core/publisher/Mono;
            invokespecial org.springframework.web.server.DefaultServerWebExchangeBuilder$MutativeDecorator.<init>:(Lorg/springframework/web/server/ServerWebExchange;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lorg/springframework/http/server/reactive/ServerHttpResponse;Lreactor/core/publisher/Mono;)V
            areturn
        end local 0 // org.springframework.web.server.DefaultServerWebExchangeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/server/DefaultServerWebExchangeBuilder;
}
SourceFile: "DefaultServerWebExchangeBuilder.java"
NestMembers:
  org.springframework.web.server.DefaultServerWebExchangeBuilder$MutativeDecorator
InnerClasses:
  public abstract Builder = org.springframework.http.server.reactive.ServerHttpRequest$Builder of org.springframework.http.server.reactive.ServerHttpRequest
  private MutativeDecorator = org.springframework.web.server.DefaultServerWebExchangeBuilder$MutativeDecorator of org.springframework.web.server.DefaultServerWebExchangeBuilder
  public abstract Builder = org.springframework.web.server.ServerWebExchange$Builder of org.springframework.web.server.ServerWebExchange