class org.springframework.web.servlet.function.ErrorHandlingServerResponse$ErrorHandler<T extends org.springframework.web.servlet.function.ServerResponse>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.web.servlet.function.ErrorHandlingServerResponse$ErrorHandler
  super_class: java.lang.Object
{
  private final java.util.function.Predicate<java.lang.Throwable> predicate;
    descriptor: Ljava/util/function/Predicate;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Predicate<Ljava/lang/Throwable;>;

  private final java.util.function.BiFunction<java.lang.Throwable, org.springframework.web.servlet.function.ServerRequest, T> responseProvider;
    descriptor: Ljava/util/function/BiFunction;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/BiFunction<Ljava/lang/Throwable;Lorg/springframework/web/servlet/function/ServerRequest;TT;>;

  public void <init>(java.util.function.Predicate<java.lang.Throwable>, java.util.function.BiFunction<java.lang.Throwable, org.springframework.web.servlet.function.ServerRequest, T>);
    descriptor: (Ljava/util/function/Predicate;Ljava/util/function/BiFunction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.springframework.web.servlet.function.ErrorHandlingServerResponse$ErrorHandler this
        start local 1 // java.util.function.Predicate predicate
        start local 2 // java.util.function.BiFunction responseProvider
         0: .line 79
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 80
            aload 1 /* predicate */
            ldc "Predicate must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 81
            aload 2 /* responseProvider */
            ldc "ResponseProvider must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         3: .line 82
            aload 0 /* this */
            aload 1 /* predicate */
            putfield org.springframework.web.servlet.function.ErrorHandlingServerResponse$ErrorHandler.predicate:Ljava/util/function/Predicate;
         4: .line 83
            aload 0 /* this */
            aload 2 /* responseProvider */
            putfield org.springframework.web.servlet.function.ErrorHandlingServerResponse$ErrorHandler.responseProvider:Ljava/util/function/BiFunction;
         5: .line 84
            return
        end local 2 // java.util.function.BiFunction responseProvider
        end local 1 // java.util.function.Predicate predicate
        end local 0 // org.springframework.web.servlet.function.ErrorHandlingServerResponse$ErrorHandler this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lorg/springframework/web/servlet/function/ErrorHandlingServerResponse$ErrorHandler<TT;>;
            0    6     1         predicate  Ljava/util/function/Predicate<Ljava/lang/Throwable;>;
            0    6     2  responseProvider  Ljava/util/function/BiFunction<Ljava/lang/Throwable;Lorg/springframework/web/servlet/function/ServerRequest;TT;>;
    Signature: (Ljava/util/function/Predicate<Ljava/lang/Throwable;>;Ljava/util/function/BiFunction<Ljava/lang/Throwable;Lorg/springframework/web/servlet/function/ServerRequest;TT;>;)V
    MethodParameters:
                  Name  Flags
      predicate         
      responseProvider  

  public boolean test(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.function.ErrorHandlingServerResponse$ErrorHandler this
        start local 1 // java.lang.Throwable t
         0: .line 87
            aload 0 /* this */
            getfield org.springframework.web.servlet.function.ErrorHandlingServerResponse$ErrorHandler.predicate:Ljava/util/function/Predicate;
            aload 1 /* t */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Throwable t
        end local 0 // org.springframework.web.servlet.function.ErrorHandlingServerResponse$ErrorHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/function/ErrorHandlingServerResponse$ErrorHandler<TT;>;
            0    1     1     t  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      t     

  public T handle(java.lang.Throwable, org.springframework.web.servlet.function.ServerRequest);
    descriptor: (Ljava/lang/Throwable;Lorg/springframework/web/servlet/function/ServerRequest;)Lorg/springframework/web/servlet/function/ServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.web.servlet.function.ErrorHandlingServerResponse$ErrorHandler this
        start local 1 // java.lang.Throwable t
        start local 2 // org.springframework.web.servlet.function.ServerRequest serverRequest
         0: .line 91
            aload 0 /* this */
            getfield org.springframework.web.servlet.function.ErrorHandlingServerResponse$ErrorHandler.responseProvider:Ljava/util/function/BiFunction;
            aload 1 /* t */
            aload 2 /* serverRequest */
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.springframework.web.servlet.function.ServerResponse
            areturn
        end local 2 // org.springframework.web.servlet.function.ServerRequest serverRequest
        end local 1 // java.lang.Throwable t
        end local 0 // org.springframework.web.servlet.function.ErrorHandlingServerResponse$ErrorHandler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/springframework/web/servlet/function/ErrorHandlingServerResponse$ErrorHandler<TT;>;
            0    1     1              t  Ljava/lang/Throwable;
            0    1     2  serverRequest  Lorg/springframework/web/servlet/function/ServerRequest;
    Signature: (Ljava/lang/Throwable;Lorg/springframework/web/servlet/function/ServerRequest;)TT;
    MethodParameters:
               Name  Flags
      t              
      serverRequest  
}
Signature: <T::Lorg/springframework/web/servlet/function/ServerResponse;>Ljava/lang/Object;
SourceFile: "ErrorHandlingServerResponse.java"
NestHost: org.springframework.web.servlet.function.ErrorHandlingServerResponse
InnerClasses:
  private ErrorHandler = org.springframework.web.servlet.function.ErrorHandlingServerResponse$ErrorHandler of org.springframework.web.servlet.function.ErrorHandlingServerResponse