public class org.springframework.data.querydsl.binding.QuerydslBindings
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.data.querydsl.binding.QuerydslBindings
  super_class: java.lang.Object
{
  private final java.util.Map<java.lang.String, org.springframework.data.querydsl.binding.QuerydslBindings$PathAndBinding<?, ?>> pathSpecs;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/springframework/data/querydsl/binding/QuerydslBindings$PathAndBinding<**>;>;

  private final java.util.Map<java.lang.Class<?>, org.springframework.data.querydsl.binding.QuerydslBindings$PathAndBinding<?, ?>> typeSpecs;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<*>;Lorg/springframework/data/querydsl/binding/QuerydslBindings$PathAndBinding<**>;>;

  private final java.util.Set<java.lang.String> whiteList;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private final java.util.Set<java.lang.String> blackList;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private final java.util.Set<java.lang.String> aliases;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private boolean excludeUnlistedProperties;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
         0: .line 79
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 81
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.springframework.data.querydsl.binding.QuerydslBindings.pathSpecs:Ljava/util/Map;
         2: .line 82
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.springframework.data.querydsl.binding.QuerydslBindings.typeSpecs:Ljava/util/Map;
         3: .line 83
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.springframework.data.querydsl.binding.QuerydslBindings.whiteList:Ljava/util/Set;
         4: .line 84
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.springframework.data.querydsl.binding.QuerydslBindings.blackList:Ljava/util/Set;
         5: .line 85
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.springframework.data.querydsl.binding.QuerydslBindings.aliases:Ljava/util/Set;
         6: .line 87
            return
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/springframework/data/querydsl/binding/QuerydslBindings;

  public final <T extends com.querydsl.core.types.Path<S>, S> org.springframework.data.querydsl.binding.QuerydslBindings$AliasingPathBinder<T, S> bind(T);
    descriptor: (Lcom/querydsl/core/types/Path;)Lorg/springframework/data/querydsl/binding/QuerydslBindings$AliasingPathBinder;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
        start local 1 // com.querydsl.core.types.Path path
         0: .line 96
            new org.springframework.data.querydsl.binding.QuerydslBindings$AliasingPathBinder
            dup
            aload 0 /* this */
            aload 1 /* path */
            invokespecial org.springframework.data.querydsl.binding.QuerydslBindings$AliasingPathBinder.<init>:(Lorg/springframework/data/querydsl/binding/QuerydslBindings;Lcom/querydsl/core/types/Path;)V
            areturn
        end local 1 // com.querydsl.core.types.Path path
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/querydsl/binding/QuerydslBindings;
            0    1     1  path  TT;
    Signature: <T::Lcom/querydsl/core/types/Path<TS;>;S:Ljava/lang/Object;>(TT;)Lorg/springframework/data/querydsl/binding/QuerydslBindings$AliasingPathBinder<TT;TS;>;
    MethodParameters:
      Name  Flags
      path  

  public final <T extends com.querydsl.core.types.Path<S>, S> org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder<T, S> bind(T[]);
    descriptor: ([Lcom/querydsl/core/types/Path;)Lorg/springframework/data/querydsl/binding/QuerydslBindings$PathBinder;
    flags: (0x0091) ACC_PUBLIC, ACC_FINAL, ACC_VARARGS
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
        start local 1 // com.querydsl.core.types.Path[] paths
         0: .line 107
            new org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder
            dup
            aload 0 /* this */
            aload 1 /* paths */
            invokespecial org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder.<init>:(Lorg/springframework/data/querydsl/binding/QuerydslBindings;[Lcom/querydsl/core/types/Path;)V
            areturn
        end local 1 // com.querydsl.core.types.Path[] paths
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/springframework/data/querydsl/binding/QuerydslBindings;
            0    1     1  paths  [Lcom/querydsl/core/types/Path;
    Signature: <T::Lcom/querydsl/core/types/Path<TS;>;S:Ljava/lang/Object;>([TT;)Lorg/springframework/data/querydsl/binding/QuerydslBindings$PathBinder<TT;TS;>;
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
       Name  Flags
      paths  

  public final <T> org.springframework.data.querydsl.binding.QuerydslBindings$TypeBinder<T> bind(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Lorg/springframework/data/querydsl/binding/QuerydslBindings$TypeBinder;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
         0: .line 117
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tCannot infer type arguments for TypeBinder<>\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/querydsl/binding/QuerydslBindings;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)Lorg/springframework/data/querydsl/binding/QuerydslBindings$TypeBinder<TT;>;
    MethodParameters:
      Name  Flags
      type  

  public final void excluding(com.querydsl.core.types.Path<?>[]);
    descriptor: ([Lcom/querydsl/core/types/Path;)V
    flags: (0x0091) ACC_PUBLIC, ACC_FINAL, ACC_VARARGS
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
        start local 1 // com.querydsl.core.types.Path[] paths
         0: .line 128
            aload 1 /* paths */
            ldc "At least one path has to be provided!"
            invokestatic org.springframework.util.Assert.notEmpty:([Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 130
            aload 1 /* paths */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: org.springframework.data.querydsl.binding.QuerydslBindings com.querydsl.core.types.Path[] top int int com.querydsl.core.types.Path[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* path */
        start local 2 // com.querydsl.core.types.Path path
         3: .line 131
            aload 0 /* this */
            getfield org.springframework.data.querydsl.binding.QuerydslBindings.blackList:Ljava/util/Set;
            aload 2 /* path */
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            invokestatic org.springframework.data.querydsl.binding.QuerydslBindings.toDotPath:(Ljava/util/Optional;)Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // com.querydsl.core.types.Path path
         4: .line 130
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 133
            return
        end local 1 // com.querydsl.core.types.Path[] paths
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/springframework/data/querydsl/binding/QuerydslBindings;
            0    7     1  paths  [Lcom/querydsl/core/types/Path;
            3    4     2   path  Lcom/querydsl/core/types/Path<*>;
    Signature: ([Lcom/querydsl/core/types/Path<*>;)V
    MethodParameters:
       Name  Flags
      paths  

  public final void including(com.querydsl.core.types.Path<?>[]);
    descriptor: ([Lcom/querydsl/core/types/Path;)V
    flags: (0x0091) ACC_PUBLIC, ACC_FINAL, ACC_VARARGS
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
        start local 1 // com.querydsl.core.types.Path[] paths
         0: .line 142
            aload 1 /* paths */
            ldc "At least one path has to be provided!"
            invokestatic org.springframework.util.Assert.notEmpty:([Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 144
            aload 1 /* paths */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: org.springframework.data.querydsl.binding.QuerydslBindings com.querydsl.core.types.Path[] top int int com.querydsl.core.types.Path[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* path */
        start local 2 // com.querydsl.core.types.Path path
         3: .line 145
            aload 0 /* this */
            getfield org.springframework.data.querydsl.binding.QuerydslBindings.whiteList:Ljava/util/Set;
            aload 2 /* path */
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            invokestatic org.springframework.data.querydsl.binding.QuerydslBindings.toDotPath:(Ljava/util/Optional;)Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // com.querydsl.core.types.Path path
         4: .line 144
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 147
            return
        end local 1 // com.querydsl.core.types.Path[] paths
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/springframework/data/querydsl/binding/QuerydslBindings;
            0    7     1  paths  [Lcom/querydsl/core/types/Path;
            3    4     2   path  Lcom/querydsl/core/types/Path<*>;
    Signature: ([Lcom/querydsl/core/types/Path<*>;)V
    MethodParameters:
       Name  Flags
      paths  

  public final org.springframework.data.querydsl.binding.QuerydslBindings excludeUnlistedProperties(boolean);
    descriptor: (Z)Lorg/springframework/data/querydsl/binding/QuerydslBindings;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
        start local 1 // boolean excludeUnlistedProperties
         0: .line 161
            aload 0 /* this */
            iload 1 /* excludeUnlistedProperties */
            putfield org.springframework.data.querydsl.binding.QuerydslBindings.excludeUnlistedProperties:Z
         1: .line 162
            aload 0 /* this */
            areturn
        end local 1 // boolean excludeUnlistedProperties
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    2     0                       this  Lorg/springframework/data/querydsl/binding/QuerydslBindings;
            0    2     1  excludeUnlistedProperties  Z
    MethodParameters:
                           Name  Flags
      excludeUnlistedProperties  

  boolean isPathAvailable(java.lang.String, java.lang.Class<?>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
        start local 1 // java.lang.String path
        start local 2 // java.lang.Class type
         0: .line 174
            aload 1 /* path */
            ldc "Path must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 175
            aload 2 /* type */
            ldc "Type must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 177
            aload 0 /* this */
            aload 1 /* path */
            aload 2 /* type */
            invokestatic org.springframework.data.util.ClassTypeInformation.from:(Ljava/lang/Class;)Lorg/springframework/data/util/ClassTypeInformation;
            invokevirtual org.springframework.data.querydsl.binding.QuerydslBindings.isPathAvailable:(Ljava/lang/String;Lorg/springframework/data/util/TypeInformation;)Z
            ireturn
        end local 2 // java.lang.Class type
        end local 1 // java.lang.String path
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/data/querydsl/binding/QuerydslBindings;
            0    3     1  path  Ljava/lang/String;
            0    3     2  type  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;)Z
    MethodParameters:
      Name  Flags
      path  
      type  

  boolean isPathAvailable(java.lang.String, org.springframework.data.util.TypeInformation<?>);
    descriptor: (Ljava/lang/String;Lorg/springframework/data/util/TypeInformation;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
        start local 1 // java.lang.String path
        start local 2 // org.springframework.data.util.TypeInformation type
         0: .line 189
            aload 1 /* path */
            ldc "Path must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 190
            aload 2 /* type */
            ldc "Type must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 192
            aload 0 /* this */
            aload 1 /* path */
            aload 2 /* type */
            invokevirtual org.springframework.data.querydsl.binding.QuerydslBindings.getPropertyPath:(Ljava/lang/String;Lorg/springframework/data/util/TypeInformation;)Lorg/springframework/data/querydsl/binding/PathInformation;
            ifnull 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // org.springframework.data.util.TypeInformation type
        end local 1 // java.lang.String path
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/data/querydsl/binding/QuerydslBindings;
            0    4     1  path  Ljava/lang/String;
            0    4     2  type  Lorg/springframework/data/util/TypeInformation<*>;
    Signature: (Ljava/lang/String;Lorg/springframework/data/util/TypeInformation<*>;)Z
    MethodParameters:
      Name  Flags
      path  
      type  

  public <S extends com.querydsl.core.types.Path<? extends T>, T> java.util.Optional<org.springframework.data.querydsl.binding.MultiValueBinding<S, T>> getBindingForPath(org.springframework.data.querydsl.binding.PathInformation);
    descriptor: (Lorg/springframework/data/querydsl/binding/PathInformation;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
         0: .line 211
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe method getBinding() is undefined for the type QuerydslBindings.PathAndBinding<S,T>\n\tThe method getBinding() is undefined for the type QuerydslBindings.PathAndBinding<S,T>\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/querydsl/binding/QuerydslBindings;
    Signature: <S::Lcom/querydsl/core/types/Path<+TT;>;T:Ljava/lang/Object;>(Lorg/springframework/data/querydsl/binding/PathInformation;)Ljava/util/Optional<Lorg/springframework/data/querydsl/binding/MultiValueBinding<TS;TT;>;>;
    MethodParameters:
      Name  Flags
      path  

  java.util.Optional<com.querydsl.core.types.Path<?>> getExistingPath(org.springframework.data.querydsl.binding.PathInformation);
    descriptor: (Lorg/springframework/data/querydsl/binding/PathInformation;)Ljava/util/Optional;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
         0: .line 233
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe method flatMap(Function<? super QuerydslBindings.PathAndBinding<capture#22-of ?,capture#23-of ?>,Optional<U>>) in the type Optional<QuerydslBindings.PathAndBinding<capture#22-of ?,capture#23-of ?>> is not applicable for the arguments (PathAndBinding::getPath)\n\tThe type QuerydslBindings.PathAndBinding does not define getPath(QuerydslBindings.PathAndBinding<capture#22-of ?,capture#23-of ?>) that is applicable here\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/querydsl/binding/QuerydslBindings;
    Signature: (Lorg/springframework/data/querydsl/binding/PathInformation;)Ljava/util/Optional<Lcom/querydsl/core/types/Path<*>;>;
    MethodParameters:
      Name  Flags
      path  

  org.springframework.data.querydsl.binding.PathInformation getPropertyPath(java.lang.String, org.springframework.data.util.TypeInformation<?>);
    descriptor: (Ljava/lang/String;Lorg/springframework/data/util/TypeInformation;)Lorg/springframework/data/querydsl/binding/PathInformation;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
         0: .line 254
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tThe method getPath() is undefined for the type QuerydslBindings.PathAndBinding<capture#27-of ?,capture#28-of ?>\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/querydsl/binding/QuerydslBindings;
    Signature: (Ljava/lang/String;Lorg/springframework/data/util/TypeInformation<*>;)Lorg/springframework/data/querydsl/binding/PathInformation;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
      Name  Flags
      path  
      type  

  private boolean isPathVisible(org.springframework.data.querydsl.binding.PathInformation);
    descriptor: (Lorg/springframework/data/querydsl/binding/PathInformation;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
        start local 1 // org.springframework.data.querydsl.binding.PathInformation path
         0: .line 275
            aload 1 /* path */
            invokeinterface org.springframework.data.querydsl.binding.PathInformation.toDotPath:()Ljava/lang/String;
            ldc "\\."
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 2 /* segments */
        start local 2 // java.util.List segments
         1: .line 277
            iconst_1
            istore 3 /* i */
        start local 3 // int i
         2: goto 8
         3: .line 279
      StackMap locals: java.util.List int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* segments */
            iconst_0
            iload 3 /* i */
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            ldc "."
            invokestatic org.springframework.util.StringUtils.collectionToDelimitedString:(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.springframework.data.querydsl.binding.QuerydslBindings.isPathVisible:(Ljava/lang/String;)Z
            ifne 7
         4: .line 282
            aload 0 /* this */
            getfield org.springframework.data.querydsl.binding.QuerydslBindings.whiteList:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 6
         5: .line 283
            aload 0 /* this */
            getfield org.springframework.data.querydsl.binding.QuerydslBindings.whiteList:Ljava/util/Set;
            aload 1 /* path */
            invokeinterface org.springframework.data.querydsl.binding.PathInformation.toDotPath:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
         6: .line 286
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         7: .line 277
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 2 /* segments */
            invokeinterface java.util.List.size:()I
            if_icmple 3
        end local 3 // int i
         9: .line 290
            iconst_1
            ireturn
        end local 2 // java.util.List segments
        end local 1 // org.springframework.data.querydsl.binding.PathInformation path
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/springframework/data/querydsl/binding/QuerydslBindings;
            0   10     1      path  Lorg/springframework/data/querydsl/binding/PathInformation;
            1   10     2  segments  Ljava/util/List<Ljava/lang/String;>;
            2    9     3         i  I
    MethodParameters:
      Name  Flags
      path  

  private boolean isPathVisible(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
        start local 1 // java.lang.String path
         0: .line 303
            aload 0 /* this */
            getfield org.springframework.data.querydsl.binding.QuerydslBindings.aliases:Ljava/util/Set;
            aload 1 /* path */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
            aload 0 /* this */
            getfield org.springframework.data.querydsl.binding.QuerydslBindings.blackList:Ljava/util/Set;
            aload 1 /* path */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 304
            iconst_1
            ireturn
         2: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.data.querydsl.binding.QuerydslBindings.whiteList:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 7
         3: .line 308
            aload 0 /* this */
            getfield org.springframework.data.querydsl.binding.QuerydslBindings.excludeUnlistedProperties:Z
            ifeq 4
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            getfield org.springframework.data.querydsl.binding.QuerydslBindings.blackList:Ljava/util/Set;
            aload 1 /* path */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 5
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: ireturn
         7: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.data.querydsl.binding.QuerydslBindings.whiteList:Ljava/util/Set;
            aload 1 /* path */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.String path
        end local 0 // org.springframework.data.querydsl.binding.QuerydslBindings this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/springframework/data/querydsl/binding/QuerydslBindings;
            0    8     1  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  private static java.lang.String toDotPath(java.util.Optional<com.querydsl.core.types.Path<?>>);
    descriptor: (Ljava/util/Optional;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Optional path
         0: .line 321
            aload 0 /* path */
            invokedynamic apply()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.fromRootPath(Lcom/querydsl/core/types/Path;)Ljava/lang/String; (6)
                  (Lcom/querydsl/core/types/Path;)Ljava/lang/String;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
            ldc ""
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 0 // java.util.Optional path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  path  Ljava/util/Optional<Lcom/querydsl/core/types/Path<*>;>;
    Signature: (Ljava/util/Optional<Lcom/querydsl/core/types/Path<*>;>;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  private static java.lang.String fromRootPath(com.querydsl.core.types.Path<?>);
    descriptor: (Lcom/querydsl/core/types/Path;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // com.querydsl.core.types.Path path
         0: .line 326
            aload 0 /* path */
            invokeinterface com.querydsl.core.types.Path.getMetadata:()Lcom/querydsl/core/types/PathMetadata;
            invokevirtual com.querydsl.core.types.PathMetadata.getRootPath:()Lcom/querydsl/core/types/Path;
            astore 1 /* rootPath */
        start local 1 // com.querydsl.core.types.Path rootPath
         1: .line 328
            aload 1 /* rootPath */
            ifnonnull 3
         2: .line 329
            new java.lang.IllegalStateException
            dup
            ldc "Couldn't find root path on path %s!"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* path */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 332
      StackMap locals: com.querydsl.core.types.Path
      StackMap stack:
            aload 0 /* path */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aload 1 /* rootPath */
            invokeinterface com.querydsl.core.types.Path.getMetadata:()Lcom/querydsl/core/types/PathMetadata;
            invokevirtual com.querydsl.core.types.PathMetadata.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 1 // com.querydsl.core.types.Path rootPath
        end local 0 // com.querydsl.core.types.Path path
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      path  Lcom/querydsl/core/types/Path<*>;
            1    4     1  rootPath  Lcom/querydsl/core/types/Path<*>;
    Signature: (Lcom/querydsl/core/types/Path<*>;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  
}
SourceFile: "QuerydslBindings.java"
NestMembers:
  org.springframework.data.querydsl.binding.QuerydslBindings$AliasingPathBinder  org.springframework.data.querydsl.binding.QuerydslBindings$PathAndBinding  org.springframework.data.querydsl.binding.QuerydslBindings$PathBinder  org.springframework.data.querydsl.binding.QuerydslBindings$TypeBinder
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public AliasingPathBinder = org.springframework.data.querydsl.binding.QuerydslBindings$AliasingPathBinder of org.springframework.data.querydsl.binding.QuerydslBindings
  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
  public final TypeBinder = org.springframework.data.querydsl.binding.QuerydslBindings$TypeBinder of org.springframework.data.querydsl.binding.QuerydslBindings