public class org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder<P extends com.querydsl.core.types.Path<? extends T>, T>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder
  super_class: java.lang.Object
{
  private final java.util.List<P> paths;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<TP;>;

  final org.springframework.data.querydsl.binding.QuerydslBindings this$0;
    descriptor: Lorg/springframework/data/querydsl/binding/QuerydslBindings;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>();
    descriptor: (Lorg/springframework/data/querydsl/binding/QuerydslBindings;[Lcom/querydsl/core/types/Path;)V
    flags: (0x0080) ACC_VARARGS
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder this
        start local 2 // com.querydsl.core.types.Path[] paths
         0: .line 350
            aload 0 /* this */
            aload 1
            putfield org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder.this$0:Lorg/springframework/data/querydsl/binding/QuerydslBindings;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 352
            aload 2 /* paths */
            ldc "At least one path has to be provided!"
            invokestatic org.springframework.util.Assert.notEmpty:([Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 353
            aload 0 /* this */
            aload 2 /* paths */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            putfield org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder.paths:Ljava/util/List;
         3: .line 354
            return
        end local 2 // com.querydsl.core.types.Path[] paths
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/springframework/data/querydsl/binding/QuerydslBindings$PathBinder<TP;TT;>;
            0    4     2  paths  [Lcom/querydsl/core/types/Path;
    Signature: ([TP;)V
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
        Name  Flags
      this$0  final
      paths   

  public void firstOptional(org.springframework.data.querydsl.binding.OptionalValueBinding<P, T>);
    descriptor: (Lorg/springframework/data/querydsl/binding/OptionalValueBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder this
        start local 1 // org.springframework.data.querydsl.binding.OptionalValueBinding binding
         0: .line 364
            aload 1 /* binding */
            ldc "Binding must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 366
            aload 0 /* this */
            aload 1 /* binding */
            invokedynamic bind(Lorg/springframework/data/querydsl/binding/OptionalValueBinding;)Lorg/springframework/data/querydsl/binding/MultiValueBinding;
              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:
                  (Lcom/querydsl/core/types/Path;Ljava/util/Collection;)Ljava/util/Optional;
                  org/springframework/data/querydsl/binding/QuerydslBindings$PathBinder.lambda$0(Lorg/springframework/data/querydsl/binding/OptionalValueBinding;Lcom/querydsl/core/types/Path;Ljava/util/Collection;)Ljava/util/Optional; (6)
                  (Lcom/querydsl/core/types/Path;Ljava/util/Collection;)Ljava/util/Optional;
            invokevirtual org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder.all:(Lorg/springframework/data/querydsl/binding/MultiValueBinding;)V
         2: .line 367
            return
        end local 1 // org.springframework.data.querydsl.binding.OptionalValueBinding binding
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/springframework/data/querydsl/binding/QuerydslBindings$PathBinder<TP;TT;>;
            0    3     1  binding  Lorg/springframework/data/querydsl/binding/OptionalValueBinding<TP;TT;>;
    Signature: (Lorg/springframework/data/querydsl/binding/OptionalValueBinding<TP;TT;>;)V
    MethodParameters:
         Name  Flags
      binding  

  public void first(org.springframework.data.querydsl.binding.SingleValueBinding<P, T>);
    descriptor: (Lorg/springframework/data/querydsl/binding/SingleValueBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder this
        start local 1 // org.springframework.data.querydsl.binding.SingleValueBinding binding
         0: .line 371
            aload 1 /* binding */
            ldc "Binding must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 372
            aload 0 /* this */
            aload 1 /* binding */
            invokedynamic bind(Lorg/springframework/data/querydsl/binding/SingleValueBinding;)Lorg/springframework/data/querydsl/binding/MultiValueBinding;
              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:
                  (Lcom/querydsl/core/types/Path;Ljava/util/Collection;)Ljava/util/Optional;
                  org/springframework/data/querydsl/binding/QuerydslBindings$PathBinder.lambda$1(Lorg/springframework/data/querydsl/binding/SingleValueBinding;Lcom/querydsl/core/types/Path;Ljava/util/Collection;)Ljava/util/Optional; (6)
                  (Lcom/querydsl/core/types/Path;Ljava/util/Collection;)Ljava/util/Optional;
            invokevirtual org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder.all:(Lorg/springframework/data/querydsl/binding/MultiValueBinding;)V
         2: .line 373
            return
        end local 1 // org.springframework.data.querydsl.binding.SingleValueBinding binding
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/springframework/data/querydsl/binding/QuerydslBindings$PathBinder<TP;TT;>;
            0    3     1  binding  Lorg/springframework/data/querydsl/binding/SingleValueBinding<TP;TT;>;
    Signature: (Lorg/springframework/data/querydsl/binding/SingleValueBinding<TP;TT;>;)V
    MethodParameters:
         Name  Flags
      binding  

  public void all(org.springframework.data.querydsl.binding.MultiValueBinding<P, T>);
    descriptor: (Lorg/springframework/data/querydsl/binding/MultiValueBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder this
        start local 1 // org.springframework.data.querydsl.binding.MultiValueBinding binding
         0: .line 383
            aload 1 /* binding */
            ldc "Binding must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 385
            aload 0 /* this */
            getfield org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder.paths:Ljava/util/List;
            aload 0 /* this */
            aload 1 /* binding */
            invokedynamic accept(Lorg/springframework/data/querydsl/binding/QuerydslBindings$PathBinder;Lorg/springframework/data/querydsl/binding/MultiValueBinding;)Ljava/util/function/Consumer;
              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;)V
                  org/springframework/data/querydsl/binding/QuerydslBindings$PathBinder.lambda$3(Lorg/springframework/data/querydsl/binding/MultiValueBinding;Lcom/querydsl/core/types/Path;)V (7)
                  (Lcom/querydsl/core/types/Path;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
         2: .line 386
            return
        end local 1 // org.springframework.data.querydsl.binding.MultiValueBinding binding
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/springframework/data/querydsl/binding/QuerydslBindings$PathBinder<TP;TT;>;
            0    3     1  binding  Lorg/springframework/data/querydsl/binding/MultiValueBinding<TP;TT;>;
    Signature: (Lorg/springframework/data/querydsl/binding/MultiValueBinding<TP;TT;>;)V
    MethodParameters:
         Name  Flags
      binding  

  protected void registerBinding(org.springframework.data.querydsl.binding.QuerydslBindings$PathAndBinding<P, T>);
    descriptor: (Lorg/springframework/data/querydsl/binding/QuerydslBindings$PathAndBinding;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder this
         0: .line 389
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tThe method getPath() is undefined for the type QuerydslBindings.PathAndBinding<P,T>\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/querydsl/binding/QuerydslBindings$PathBinder<TP;TT;>;
    Signature: (Lorg/springframework/data/querydsl/binding/QuerydslBindings$PathAndBinding<TP;TT;>;)V
    MethodParameters:
         Name  Flags
      binding  

  private static java.util.Optional lambda$0(org.springframework.data.querydsl.binding.OptionalValueBinding, com.querydsl.core.types.Path, java.util.Collection);
    descriptor: (Lorg/springframework/data/querydsl/binding/OptionalValueBinding;Lcom/querydsl/core/types/Path;Ljava/util/Collection;)Ljava/util/Optional;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 1 // com.querydsl.core.types.Path path
        start local 2 // java.util.Collection value
         0: .line 366
            aload 0
            aload 1 /* path */
            aload 2 /* value */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            invokestatic org.springframework.data.util.Optionals.next:(Ljava/util/Iterator;)Ljava/util/Optional;
            invokeinterface org.springframework.data.querydsl.binding.OptionalValueBinding.bind:(Lcom/querydsl/core/types/Path;Ljava/util/Optional;)Ljava/util/Optional;
            areturn
        end local 2 // java.util.Collection value
        end local 1 // com.querydsl.core.types.Path path
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     1   path  TP;
            0    1     2  value  Ljava/util/Collection<+TT;>;

  private static java.util.Optional lambda$1(org.springframework.data.querydsl.binding.SingleValueBinding, com.querydsl.core.types.Path, java.util.Collection);
    descriptor: (Lorg/springframework/data/querydsl/binding/SingleValueBinding;Lcom/querydsl/core/types/Path;Ljava/util/Collection;)Ljava/util/Optional;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 1 // com.querydsl.core.types.Path path
        start local 2 // java.util.Collection value
         0: .line 372
            aload 2 /* value */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            invokestatic org.springframework.data.util.Optionals.next:(Ljava/util/Iterator;)Ljava/util/Optional;
            aload 0
            aload 1 /* path */
            invokedynamic apply(Lorg/springframework/data/querydsl/binding/SingleValueBinding;Lcom/querydsl/core/types/Path;)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/data/querydsl/binding/QuerydslBindings$PathBinder.lambda$2(Lorg/springframework/data/querydsl/binding/SingleValueBinding;Lcom/querydsl/core/types/Path;Ljava/lang/Object;)Lcom/querydsl/core/types/Predicate; (6)
                  (Ljava/lang/Object;)Lcom/querydsl/core/types/Predicate;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
            areturn
        end local 2 // java.util.Collection value
        end local 1 // com.querydsl.core.types.Path path
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     1   path  TP;
            0    1     2  value  Ljava/util/Collection<+TT;>;

  private void lambda$3(org.springframework.data.querydsl.binding.MultiValueBinding, com.querydsl.core.types.Path);
    descriptor: (Lorg/springframework/data/querydsl/binding/MultiValueBinding;Lcom/querydsl/core/types/Path;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder this
        start local 2 // com.querydsl.core.types.Path path
         0: .line 385
            aload 0 /* this */
            aload 2 /* path */
            invokestatic org.springframework.data.querydsl.binding.QuerydslBindings$PathAndBinding.withPath:(Lcom/querydsl/core/types/Path;)Lorg/springframework/data/querydsl/binding/QuerydslBindings$PathAndBinding;
            aload 1
            invokevirtual org.springframework.data.querydsl.binding.QuerydslBindings$PathAndBinding.with:(Lorg/springframework/data/querydsl/binding/MultiValueBinding;)Lorg/springframework/data/querydsl/binding/QuerydslBindings$PathAndBinding;
            invokevirtual org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder.registerBinding:(Lorg/springframework/data/querydsl/binding/QuerydslBindings$PathAndBinding;)V
            return
        end local 2 // com.querydsl.core.types.Path path
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/querydsl/binding/QuerydslBindings$PathBinder<TP;TT;>;
            0    1     2  path  TP;

  private static com.querydsl.core.types.Predicate lambda$2(org.springframework.data.querydsl.binding.SingleValueBinding, com.querydsl.core.types.Path, java.lang.Object);
    descriptor: (Lorg/springframework/data/querydsl/binding/SingleValueBinding;Lcom/querydsl/core/types/Path;Ljava/lang/Object;)Lcom/querydsl/core/types/Predicate;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 2 // java.lang.Object t
         0: .line 372
            aload 0
            aload 1
            aload 2 /* t */
            invokeinterface org.springframework.data.querydsl.binding.SingleValueBinding.bind:(Lcom/querydsl/core/types/Path;Ljava/lang/Object;)Lcom/querydsl/core/types/Predicate;
            areturn
        end local 2 // java.lang.Object t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     2     t  Ljava/lang/Object;
}
Signature: <P::Lcom/querydsl/core/types/Path<+TT;>;T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "QuerydslBindings.java"
NestHost: org.springframework.data.querydsl.binding.QuerydslBindings
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private PathAndBinding = org.springframework.data.querydsl.binding.QuerydslBindings$PathAndBinding of org.springframework.data.querydsl.binding.QuerydslBindings
  public PathBinder = org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder of org.springframework.data.querydsl.binding.QuerydslBindings