public abstract class org.springframework.web.servlet.function.RequestPredicates
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.springframework.web.servlet.function.RequestPredicates
  super_class: java.lang.Object
{
  private static final org.apache.commons.logging.Log logger;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 73
            ldc Lorg/springframework/web/servlet/function/RequestPredicates;
            invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
            putstatic org.springframework.web.servlet.function.RequestPredicates.logger:Lorg/apache/commons/logging/Log;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.function.RequestPredicates this
         0: .line 71
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.springframework.web.servlet.function.RequestPredicates this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/function/RequestPredicates;

  public static org.springframework.web.servlet.function.RequestPredicate all();
    descriptor: ()Lorg/springframework/web/servlet/function/RequestPredicate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 80
            invokedynamic test()Lorg/springframework/web/servlet/function/RequestPredicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/springframework/web/servlet/function/ServerRequest;)Z
                  org/springframework/web/servlet/function/RequestPredicates.lambda$0(Lorg/springframework/web/servlet/function/ServerRequest;)Z (6)
                  (Lorg/springframework/web/servlet/function/ServerRequest;)Z
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.springframework.web.servlet.function.RequestPredicate method(org.springframework.http.HttpMethod);
    descriptor: (Lorg/springframework/http/HttpMethod;)Lorg/springframework/web/servlet/function/RequestPredicate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.http.HttpMethod httpMethod
         0: .line 90
            new org.springframework.web.servlet.function.RequestPredicates$HttpMethodPredicate
            dup
            aload 0 /* httpMethod */
            invokespecial org.springframework.web.servlet.function.RequestPredicates$HttpMethodPredicate.<init>:(Lorg/springframework/http/HttpMethod;)V
            areturn
        end local 0 // org.springframework.http.HttpMethod httpMethod
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  httpMethod  Lorg/springframework/http/HttpMethod;
    MethodParameters:
            Name  Flags
      httpMethod  

  public static org.springframework.web.servlet.function.RequestPredicate methods(org.springframework.http.HttpMethod[]);
    descriptor: ([Lorg/springframework/http/HttpMethod;)Lorg/springframework/web/servlet/function/RequestPredicate;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.http.HttpMethod[] httpMethods
         0: .line 100
            new org.springframework.web.servlet.function.RequestPredicates$HttpMethodPredicate
            dup
            aload 0 /* httpMethods */
            invokespecial org.springframework.web.servlet.function.RequestPredicates$HttpMethodPredicate.<init>:([Lorg/springframework/http/HttpMethod;)V
            areturn
        end local 0 // org.springframework.http.HttpMethod[] httpMethods
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  httpMethods  [Lorg/springframework/http/HttpMethod;
    MethodParameters:
             Name  Flags
      httpMethods  

  public static org.springframework.web.servlet.function.RequestPredicate path(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String pattern
         0: .line 110
            aload 0 /* pattern */
            ldc "'pattern' must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 111
            aload 0 /* pattern */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 3
            aload 0 /* pattern */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 3
         2: .line 112
            new java.lang.StringBuilder
            dup
            ldc "/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* pattern */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 0 /* pattern */
         3: .line 114
      StackMap locals:
      StackMap stack:
            getstatic org.springframework.web.util.pattern.PathPatternParser.defaultInstance:Lorg/springframework/web/util/pattern/PathPatternParser;
            invokestatic org.springframework.web.servlet.function.RequestPredicates.pathPredicates:(Lorg/springframework/web/util/pattern/PathPatternParser;)Ljava/util/function/Function;
            aload 0 /* pattern */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.springframework.web.servlet.function.RequestPredicate
            areturn
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  pattern  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      pattern  

  public static java.util.function.Function<java.lang.String, org.springframework.web.servlet.function.RequestPredicate> pathPredicates(org.springframework.web.util.pattern.PathPatternParser);
    descriptor: (Lorg/springframework/web/util/pattern/PathPatternParser;)Ljava/util/function/Function;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.web.util.pattern.PathPatternParser patternParser
         0: .line 127
            aload 0 /* patternParser */
            ldc "PathPatternParser must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 128
            aload 0 /* patternParser */
            invokedynamic apply(Lorg/springframework/web/util/pattern/PathPatternParser;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/springframework/web/servlet/function/RequestPredicates.lambda$1(Lorg/springframework/web/util/pattern/PathPatternParser;Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate; (6)
                  (Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate;
            areturn
        end local 0 // org.springframework.web.util.pattern.PathPatternParser patternParser
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0  patternParser  Lorg/springframework/web/util/pattern/PathPatternParser;
    Signature: (Lorg/springframework/web/util/pattern/PathPatternParser;)Ljava/util/function/Function<Ljava/lang/String;Lorg/springframework/web/servlet/function/RequestPredicate;>;
    MethodParameters:
               Name  Flags
      patternParser  

  public static org.springframework.web.servlet.function.RequestPredicate headers(java.util.function.Predicate<org.springframework.web.servlet.function.ServerRequest$Headers>);
    descriptor: (Ljava/util/function/Predicate;)Lorg/springframework/web/servlet/function/RequestPredicate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.function.Predicate headersPredicate
         0: .line 138
            new org.springframework.web.servlet.function.RequestPredicates$HeadersPredicate
            dup
            aload 0 /* headersPredicate */
            invokespecial org.springframework.web.servlet.function.RequestPredicates$HeadersPredicate.<init>:(Ljava/util/function/Predicate;)V
            areturn
        end local 0 // java.util.function.Predicate headersPredicate
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0  headersPredicate  Ljava/util/function/Predicate<Lorg/springframework/web/servlet/function/ServerRequest$Headers;>;
    Signature: (Ljava/util/function/Predicate<Lorg/springframework/web/servlet/function/ServerRequest$Headers;>;)Lorg/springframework/web/servlet/function/RequestPredicate;
    MethodParameters:
                  Name  Flags
      headersPredicate  

  public static org.springframework.web.servlet.function.RequestPredicate contentType(org.springframework.http.MediaType[]);
    descriptor: ([Lorg/springframework/http/MediaType;)Lorg/springframework/web/servlet/function/RequestPredicate;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.http.MediaType[] mediaTypes
         0: .line 149
            aload 0 /* mediaTypes */
            ldc "'mediaTypes' must not be empty"
            invokestatic org.springframework.util.Assert.notEmpty:([Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 150
            new org.springframework.web.servlet.function.RequestPredicates$ContentTypePredicate
            dup
            aload 0 /* mediaTypes */
            invokespecial org.springframework.web.servlet.function.RequestPredicates$ContentTypePredicate.<init>:([Lorg/springframework/http/MediaType;)V
            areturn
        end local 0 // org.springframework.http.MediaType[] mediaTypes
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  mediaTypes  [Lorg/springframework/http/MediaType;
    MethodParameters:
            Name  Flags
      mediaTypes  

  public static org.springframework.web.servlet.function.RequestPredicate accept(org.springframework.http.MediaType[]);
    descriptor: ([Lorg/springframework/http/MediaType;)Lorg/springframework/web/servlet/function/RequestPredicate;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.http.MediaType[] mediaTypes
         0: .line 161
            aload 0 /* mediaTypes */
            ldc "'mediaTypes' must not be empty"
            invokestatic org.springframework.util.Assert.notEmpty:([Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 162
            new org.springframework.web.servlet.function.RequestPredicates$AcceptPredicate
            dup
            aload 0 /* mediaTypes */
            invokespecial org.springframework.web.servlet.function.RequestPredicates$AcceptPredicate.<init>:([Lorg/springframework/http/MediaType;)V
            areturn
        end local 0 // org.springframework.http.MediaType[] mediaTypes
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  mediaTypes  [Lorg/springframework/http/MediaType;
    MethodParameters:
            Name  Flags
      mediaTypes  

  public static org.springframework.web.servlet.function.RequestPredicate GET(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String pattern
         0: .line 173
            getstatic org.springframework.http.HttpMethod.GET:Lorg/springframework/http/HttpMethod;
            invokestatic org.springframework.web.servlet.function.RequestPredicates.method:(Lorg/springframework/http/HttpMethod;)Lorg/springframework/web/servlet/function/RequestPredicate;
            aload 0 /* pattern */
            invokestatic org.springframework.web.servlet.function.RequestPredicates.path:(Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate;
            invokeinterface org.springframework.web.servlet.function.RequestPredicate.and:(Lorg/springframework/web/servlet/function/RequestPredicate;)Lorg/springframework/web/servlet/function/RequestPredicate;
            areturn
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  pattern  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      pattern  

  public static org.springframework.web.servlet.function.RequestPredicate HEAD(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String pattern
         0: .line 184
            getstatic org.springframework.http.HttpMethod.HEAD:Lorg/springframework/http/HttpMethod;
            invokestatic org.springframework.web.servlet.function.RequestPredicates.method:(Lorg/springframework/http/HttpMethod;)Lorg/springframework/web/servlet/function/RequestPredicate;
            aload 0 /* pattern */
            invokestatic org.springframework.web.servlet.function.RequestPredicates.path:(Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate;
            invokeinterface org.springframework.web.servlet.function.RequestPredicate.and:(Lorg/springframework/web/servlet/function/RequestPredicate;)Lorg/springframework/web/servlet/function/RequestPredicate;
            areturn
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  pattern  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      pattern  

  public static org.springframework.web.servlet.function.RequestPredicate POST(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String pattern
         0: .line 195
            getstatic org.springframework.http.HttpMethod.POST:Lorg/springframework/http/HttpMethod;
            invokestatic org.springframework.web.servlet.function.RequestPredicates.method:(Lorg/springframework/http/HttpMethod;)Lorg/springframework/web/servlet/function/RequestPredicate;
            aload 0 /* pattern */
            invokestatic org.springframework.web.servlet.function.RequestPredicates.path:(Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate;
            invokeinterface org.springframework.web.servlet.function.RequestPredicate.and:(Lorg/springframework/web/servlet/function/RequestPredicate;)Lorg/springframework/web/servlet/function/RequestPredicate;
            areturn
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  pattern  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      pattern  

  public static org.springframework.web.servlet.function.RequestPredicate PUT(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String pattern
         0: .line 206
            getstatic org.springframework.http.HttpMethod.PUT:Lorg/springframework/http/HttpMethod;
            invokestatic org.springframework.web.servlet.function.RequestPredicates.method:(Lorg/springframework/http/HttpMethod;)Lorg/springframework/web/servlet/function/RequestPredicate;
            aload 0 /* pattern */
            invokestatic org.springframework.web.servlet.function.RequestPredicates.path:(Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate;
            invokeinterface org.springframework.web.servlet.function.RequestPredicate.and:(Lorg/springframework/web/servlet/function/RequestPredicate;)Lorg/springframework/web/servlet/function/RequestPredicate;
            areturn
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  pattern  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      pattern  

  public static org.springframework.web.servlet.function.RequestPredicate PATCH(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String pattern
         0: .line 217
            getstatic org.springframework.http.HttpMethod.PATCH:Lorg/springframework/http/HttpMethod;
            invokestatic org.springframework.web.servlet.function.RequestPredicates.method:(Lorg/springframework/http/HttpMethod;)Lorg/springframework/web/servlet/function/RequestPredicate;
            aload 0 /* pattern */
            invokestatic org.springframework.web.servlet.function.RequestPredicates.path:(Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate;
            invokeinterface org.springframework.web.servlet.function.RequestPredicate.and:(Lorg/springframework/web/servlet/function/RequestPredicate;)Lorg/springframework/web/servlet/function/RequestPredicate;
            areturn
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  pattern  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      pattern  

  public static org.springframework.web.servlet.function.RequestPredicate DELETE(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String pattern
         0: .line 228
            getstatic org.springframework.http.HttpMethod.DELETE:Lorg/springframework/http/HttpMethod;
            invokestatic org.springframework.web.servlet.function.RequestPredicates.method:(Lorg/springframework/http/HttpMethod;)Lorg/springframework/web/servlet/function/RequestPredicate;
            aload 0 /* pattern */
            invokestatic org.springframework.web.servlet.function.RequestPredicates.path:(Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate;
            invokeinterface org.springframework.web.servlet.function.RequestPredicate.and:(Lorg/springframework/web/servlet/function/RequestPredicate;)Lorg/springframework/web/servlet/function/RequestPredicate;
            areturn
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  pattern  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      pattern  

  public static org.springframework.web.servlet.function.RequestPredicate OPTIONS(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String pattern
         0: .line 239
            getstatic org.springframework.http.HttpMethod.OPTIONS:Lorg/springframework/http/HttpMethod;
            invokestatic org.springframework.web.servlet.function.RequestPredicates.method:(Lorg/springframework/http/HttpMethod;)Lorg/springframework/web/servlet/function/RequestPredicate;
            aload 0 /* pattern */
            invokestatic org.springframework.web.servlet.function.RequestPredicates.path:(Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate;
            invokeinterface org.springframework.web.servlet.function.RequestPredicate.and:(Lorg/springframework/web/servlet/function/RequestPredicate;)Lorg/springframework/web/servlet/function/RequestPredicate;
            areturn
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  pattern  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      pattern  

  public static org.springframework.web.servlet.function.RequestPredicate pathExtension(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String extension
         0: .line 248
            aload 0 /* extension */
            ldc "'extension' must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 249
            new org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate
            dup
            aload 0 /* extension */
            invokespecial org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // java.lang.String extension
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  extension  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      extension  

  public static org.springframework.web.servlet.function.RequestPredicate pathExtension(java.util.function.Predicate<java.lang.String>);
    descriptor: (Ljava/util/function/Predicate;)Lorg/springframework/web/servlet/function/RequestPredicate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.function.Predicate extensionPredicate
         0: .line 260
            new org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate
            dup
            aload 0 /* extensionPredicate */
            invokespecial org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate.<init>:(Ljava/util/function/Predicate;)V
            areturn
        end local 0 // java.util.function.Predicate extensionPredicate
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0  extensionPredicate  Ljava/util/function/Predicate<Ljava/lang/String;>;
    Signature: (Ljava/util/function/Predicate<Ljava/lang/String;>;)Lorg/springframework/web/servlet/function/RequestPredicate;
    MethodParameters:
                    Name  Flags
      extensionPredicate  

  public static org.springframework.web.servlet.function.RequestPredicate param(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.String value
         0: .line 272
            new org.springframework.web.servlet.function.RequestPredicates$ParamPredicate
            dup
            aload 0 /* name */
            aload 1 /* value */
            invokespecial org.springframework.web.servlet.function.RequestPredicates$ParamPredicate.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String value
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   name  Ljava/lang/String;
            0    1     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      name   
      value  

  public static org.springframework.web.servlet.function.RequestPredicate param(java.lang.String, java.util.function.Predicate<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/function/Predicate;)Lorg/springframework/web/servlet/function/RequestPredicate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.util.function.Predicate predicate
         0: .line 284
            new org.springframework.web.servlet.function.RequestPredicates$ParamPredicate
            dup
            aload 0 /* name */
            aload 1 /* predicate */
            invokespecial org.springframework.web.servlet.function.RequestPredicates$ParamPredicate.<init>:(Ljava/lang/String;Ljava/util/function/Predicate;)V
            areturn
        end local 1 // java.util.function.Predicate predicate
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       name  Ljava/lang/String;
            0    1     1  predicate  Ljava/util/function/Predicate<Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Ljava/util/function/Predicate<Ljava/lang/String;>;)Lorg/springframework/web/servlet/function/RequestPredicate;
    MethodParameters:
           Name  Flags
      name       
      predicate  

  private static void traceMatch(java.lang.String, java.lang.Object, java.lang.Object, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.String prefix
        start local 1 // java.lang.Object desired
        start local 2 // java.lang.Object actual
        start local 3 // boolean match
         0: .line 289
            getstatic org.springframework.web.servlet.function.RequestPredicates.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 6
         1: .line 290
            getstatic org.springframework.web.servlet.function.RequestPredicates.logger:Lorg/apache/commons/logging/Log;
            ldc "%s \"%s\" %s against value \"%s\""
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 291
            aload 0 /* prefix */
            aastore
            dup
            iconst_1
            aload 1 /* desired */
            aastore
            dup
            iconst_2
            iload 3 /* match */
            ifeq 3
            ldc "matches"
            goto 4
      StackMap locals: java.lang.String java.lang.Object java.lang.Object int
      StackMap stack: org.apache.commons.logging.Log java.lang.String java.lang.Object[] java.lang.Object[] int
         3: ldc "does not match"
      StackMap locals: java.lang.String java.lang.Object java.lang.Object int
      StackMap stack: org.apache.commons.logging.Log java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
         4: aastore
            dup
            iconst_3
            aload 2 /* actual */
            aastore
         5: .line 290
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
         6: .line 293
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean match
        end local 2 // java.lang.Object actual
        end local 1 // java.lang.Object desired
        end local 0 // java.lang.String prefix
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0   prefix  Ljava/lang/String;
            0    7     1  desired  Ljava/lang/Object;
            0    7     2   actual  Ljava/lang/Object;
            0    7     3    match  Z
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.springframework.lang.Nullable()
      3:
    MethodParameters:
         Name  Flags
      prefix   
      desired  
      actual   
      match    

  private static void restoreAttributes(org.springframework.web.servlet.function.ServerRequest, java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Lorg/springframework/web/servlet/function/ServerRequest;Ljava/util/Map;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.function.ServerRequest request
        start local 1 // java.util.Map attributes
         0: .line 296
            aload 0 /* request */
            invokeinterface org.springframework.web.servlet.function.ServerRequest.attributes:()Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         1: .line 297
            aload 0 /* request */
            invokeinterface org.springframework.web.servlet.function.ServerRequest.attributes:()Ljava/util/Map;
            aload 1 /* attributes */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         2: .line 298
            return
        end local 1 // java.util.Map attributes
        end local 0 // org.springframework.web.servlet.function.ServerRequest request
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0     request  Lorg/springframework/web/servlet/function/ServerRequest;
            0    3     1  attributes  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Signature: (Lorg/springframework/web/servlet/function/ServerRequest;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)V
    MethodParameters:
            Name  Flags
      request     
      attributes  

  private static java.util.Map<java.lang.String, java.lang.String> mergePathVariables(java.util.Map<java.lang.String, java.lang.String>, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Map;Ljava/util/Map;)Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.Map oldVariables
        start local 1 // java.util.Map newVariables
         0: .line 303
            aload 1 /* newVariables */
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 4
         1: .line 304
            new java.util.LinkedHashMap
            dup
            aload 0 /* oldVariables */
            invokespecial java.util.LinkedHashMap.<init>:(Ljava/util/Map;)V
            astore 2 /* mergedVariables */
        start local 2 // java.util.Map mergedVariables
         2: .line 305
            aload 2 /* mergedVariables */
            aload 1 /* newVariables */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         3: .line 306
            aload 2 /* mergedVariables */
            areturn
        end local 2 // java.util.Map mergedVariables
         4: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* oldVariables */
            areturn
        end local 1 // java.util.Map newVariables
        end local 0 // java.util.Map oldVariables
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0     oldVariables  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    5     1     newVariables  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            2    4     2  mergedVariables  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
              Name  Flags
      oldVariables  
      newVariables  

  private static org.springframework.web.util.pattern.PathPattern mergePatterns(org.springframework.web.util.pattern.PathPattern, org.springframework.web.util.pattern.PathPattern);
    descriptor: (Lorg/springframework/web/util/pattern/PathPattern;Lorg/springframework/web/util/pattern/PathPattern;)Lorg/springframework/web/util/pattern/PathPattern;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.util.pattern.PathPattern oldPattern
        start local 1 // org.springframework.web.util.pattern.PathPattern newPattern
         0: .line 314
            aload 0 /* oldPattern */
            ifnull 2
         1: .line 315
            aload 0 /* oldPattern */
            aload 1 /* newPattern */
            invokevirtual org.springframework.web.util.pattern.PathPattern.combine:(Lorg/springframework/web/util/pattern/PathPattern;)Lorg/springframework/web/util/pattern/PathPattern;
            areturn
         2: .line 318
      StackMap locals:
      StackMap stack:
            aload 1 /* newPattern */
            areturn
        end local 1 // org.springframework.web.util.pattern.PathPattern newPattern
        end local 0 // org.springframework.web.util.pattern.PathPattern oldPattern
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  oldPattern  Lorg/springframework/web/util/pattern/PathPattern;
            0    3     1  newPattern  Lorg/springframework/web/util/pattern/PathPattern;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
    MethodParameters:
            Name  Flags
      oldPattern  
      newPattern  

  private static boolean lambda$0(org.springframework.web.servlet.function.ServerRequest);
    descriptor: (Lorg/springframework/web/servlet/function/ServerRequest;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.function.ServerRequest request
         0: .line 80
            iconst_1
            ireturn
        end local 0 // org.springframework.web.servlet.function.ServerRequest request
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  request  Lorg/springframework/web/servlet/function/ServerRequest;

  private static org.springframework.web.servlet.function.RequestPredicate lambda$1(org.springframework.web.util.pattern.PathPatternParser, java.lang.String);
    descriptor: (Lorg/springframework/web/util/pattern/PathPatternParser;Ljava/lang/String;)Lorg/springframework/web/servlet/function/RequestPredicate;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 1 // java.lang.String pattern
         0: .line 128
            new org.springframework.web.servlet.function.RequestPredicates$PathPatternPredicate
            dup
            aload 0
            aload 1 /* pattern */
            invokevirtual org.springframework.web.util.pattern.PathPatternParser.parse:(Ljava/lang/String;)Lorg/springframework/web/util/pattern/PathPattern;
            invokespecial org.springframework.web.servlet.function.RequestPredicates$PathPatternPredicate.<init>:(Lorg/springframework/web/util/pattern/PathPattern;)V
            areturn
        end local 1 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     1  pattern  Ljava/lang/String;
}
SourceFile: "RequestPredicates.java"
NestMembers:
  org.springframework.web.servlet.function.RequestPredicates$AcceptPredicate  org.springframework.web.servlet.function.RequestPredicates$AndRequestPredicate  org.springframework.web.servlet.function.RequestPredicates$ContentTypePredicate  org.springframework.web.servlet.function.RequestPredicates$HeadersPredicate  org.springframework.web.servlet.function.RequestPredicates$HttpMethodPredicate  org.springframework.web.servlet.function.RequestPredicates$NegateRequestPredicate  org.springframework.web.servlet.function.RequestPredicates$OrRequestPredicate  org.springframework.web.servlet.function.RequestPredicates$ParamPredicate  org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate  org.springframework.web.servlet.function.RequestPredicates$PathPatternPredicate  org.springframework.web.servlet.function.RequestPredicates$SubPathServerRequestWrapper  org.springframework.web.servlet.function.RequestPredicates$Visitor
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private AcceptPredicate = org.springframework.web.servlet.function.RequestPredicates$AcceptPredicate of org.springframework.web.servlet.function.RequestPredicates
  AndRequestPredicate = org.springframework.web.servlet.function.RequestPredicates$AndRequestPredicate of org.springframework.web.servlet.function.RequestPredicates
  private ContentTypePredicate = org.springframework.web.servlet.function.RequestPredicates$ContentTypePredicate of org.springframework.web.servlet.function.RequestPredicates
  private HeadersPredicate = org.springframework.web.servlet.function.RequestPredicates$HeadersPredicate of org.springframework.web.servlet.function.RequestPredicates
  private HttpMethodPredicate = org.springframework.web.servlet.function.RequestPredicates$HttpMethodPredicate of org.springframework.web.servlet.function.RequestPredicates
  NegateRequestPredicate = org.springframework.web.servlet.function.RequestPredicates$NegateRequestPredicate of org.springframework.web.servlet.function.RequestPredicates
  OrRequestPredicate = org.springframework.web.servlet.function.RequestPredicates$OrRequestPredicate of org.springframework.web.servlet.function.RequestPredicates
  private ParamPredicate = org.springframework.web.servlet.function.RequestPredicates$ParamPredicate of org.springframework.web.servlet.function.RequestPredicates
  private PathExtensionPredicate = org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate of org.springframework.web.servlet.function.RequestPredicates
  private PathPatternPredicate = org.springframework.web.servlet.function.RequestPredicates$PathPatternPredicate of org.springframework.web.servlet.function.RequestPredicates
  private SubPathServerRequestWrapper = org.springframework.web.servlet.function.RequestPredicates$SubPathServerRequestWrapper of org.springframework.web.servlet.function.RequestPredicates
  public abstract Visitor = org.springframework.web.servlet.function.RequestPredicates$Visitor of org.springframework.web.servlet.function.RequestPredicates
  public abstract Headers = org.springframework.web.servlet.function.ServerRequest$Headers of org.springframework.web.servlet.function.ServerRequest