final class org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator implements org.springframework.util.ReflectionUtils$FieldCallback
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator
  super_class: java.lang.Object
{
  private final E entity;
    descriptor: Lorg/springframework/data/mapping/model/MutablePersistentEntity;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: TE;
    RuntimeInvisibleAnnotations: 
      lombok.NonNull()
    RuntimeInvisibleTypeAnnotations: 
      FIELD
        lombok.NonNull()

  private final java.util.Map<java.lang.String, java.beans.PropertyDescriptor> descriptors;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/beans/PropertyDescriptor;>;
    RuntimeInvisibleAnnotations: 
      lombok.NonNull()
    RuntimeInvisibleTypeAnnotations: 
      FIELD
        lombok.NonNull()

  private final java.util.Map<java.lang.String, java.beans.PropertyDescriptor> remainingDescriptors;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/beans/PropertyDescriptor;>;
    RuntimeInvisibleAnnotations: 
      lombok.NonNull()
    RuntimeInvisibleTypeAnnotations: 
      FIELD
        lombok.NonNull()

  final org.springframework.data.mapping.context.AbstractMappingContext this$0;
    descriptor: Lorg/springframework/data/mapping/context/AbstractMappingContext;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(E, java.util.Map<java.lang.String, java.beans.PropertyDescriptor>);
    descriptor: (Lorg/springframework/data/mapping/context/AbstractMappingContext;Lorg/springframework/data/mapping/model/MutablePersistentEntity;Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator this
         0: .line 105
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tCannot infer type arguments for PersistentPropertyPathFactory<>\n\tThe constructor AbstractMappingContext<E,P>.PersistentPropertyCreator(E, Map<String,PropertyDescriptor>, Map<String,PropertyDescriptor>) is undefined\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/mapping/context/AbstractMappingContext$PersistentPropertyCreator;
    Signature: (TE;Ljava/util/Map<Ljava/lang/String;Ljava/beans/PropertyDescriptor;>;)V
    MethodParameters:
             Name  Flags
      this$0       final
      entity       
      descriptors  

  public void doWith(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator this
        start local 1 // java.lang.reflect.Field field
         0: .line 497
            aload 1 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            astore 2 /* fieldName */
        start local 2 // java.lang.String fieldName
         1: .line 498
            aload 0 /* this */
            getfield org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.entity:Lorg/springframework/data/mapping/model/MutablePersistentEntity;
            invokeinterface org.springframework.data.mapping.model.MutablePersistentEntity.getTypeInformation:()Lorg/springframework/data/util/TypeInformation;
            astore 3 /* type */
        start local 3 // org.springframework.data.util.TypeInformation type
         2: .line 500
            aload 1 /* field */
            invokestatic org.springframework.util.ReflectionUtils.makeAccessible:(Ljava/lang/reflect/Field;)V
         3: .line 502
            aload 0 /* this */
            getfield org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.descriptors:Ljava/util/Map;
            aload 2 /* fieldName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.beans.PropertyDescriptor
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
         4: .line 503
            aload 3 /* type */
            aload 1 /* field */
            invokedynamic apply(Lorg/springframework/data/util/TypeInformation;Ljava/lang/reflect/Field;)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/mapping/context/AbstractMappingContext$PersistentPropertyCreator.lambda$0(Lorg/springframework/data/util/TypeInformation;Ljava/lang/reflect/Field;Ljava/beans/PropertyDescriptor;)Lorg/springframework/data/mapping/model/Property; (6)
                  (Ljava/beans/PropertyDescriptor;)Lorg/springframework/data/mapping/model/Property;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
         5: .line 504
            aload 3 /* type */
            aload 1 /* field */
            invokedynamic get(Lorg/springframework/data/util/TypeInformation;Ljava/lang/reflect/Field;)Ljava/util/function/Supplier;
              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;
                  org/springframework/data/mapping/context/AbstractMappingContext$PersistentPropertyCreator.lambda$1(Lorg/springframework/data/util/TypeInformation;Ljava/lang/reflect/Field;)Lorg/springframework/data/mapping/model/Property; (6)
                  ()Lorg/springframework/data/mapping/model/Property;
            invokevirtual java.util.Optional.orElseGet:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast org.springframework.data.mapping.model.Property
         6: .line 502
            astore 4 /* property */
        start local 4 // org.springframework.data.mapping.model.Property property
         7: .line 506
            aload 0 /* this */
            aload 4 /* property */
            invokevirtual org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.createAndRegisterProperty:(Lorg/springframework/data/mapping/model/Property;)V
         8: .line 508
            aload 0 /* this */
            getfield org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.remainingDescriptors:Ljava/util/Map;
            aload 2 /* fieldName */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 509
            return
        end local 4 // org.springframework.data.mapping.model.Property property
        end local 3 // org.springframework.data.util.TypeInformation type
        end local 2 // java.lang.String fieldName
        end local 1 // java.lang.reflect.Field field
        end local 0 // org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/springframework/data/mapping/context/AbstractMappingContext$PersistentPropertyCreator;
            0   10     1      field  Ljava/lang/reflect/Field;
            1   10     2  fieldName  Ljava/lang/String;
            2   10     3       type  Lorg/springframework/data/util/TypeInformation<*>;
            7   10     4   property  Lorg/springframework/data/mapping/model/Property;
    MethodParameters:
       Name  Flags
      field  

  public void addPropertiesForRemainingDescriptors();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator this
         0: .line 519
            aload 0 /* this */
            getfield org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.remainingDescriptors:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
         1: .line 520
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  org/springframework/data/mapping/model/Property.supportsStandalone(Ljava/beans/PropertyDescriptor;)Z (6)
                  (Ljava/beans/PropertyDescriptor;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         2: .line 521
            aload 0 /* this */
            invokedynamic apply(Lorg/springframework/data/mapping/context/AbstractMappingContext$PersistentPropertyCreator;)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/mapping/context/AbstractMappingContext$PersistentPropertyCreator.lambda$3(Ljava/beans/PropertyDescriptor;)Lorg/springframework/data/mapping/model/Property; (7)
                  (Ljava/beans/PropertyDescriptor;)Lorg/springframework/data/mapping/model/Property;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         3: .line 522
            getstatic org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyFilter.INSTANCE:Lorg/springframework/data/mapping/context/AbstractMappingContext$PersistentPropertyFilter;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic test(Lorg/springframework/data/mapping/context/AbstractMappingContext$PersistentPropertyFilter;)Ljava/util/function/Predicate;
              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;)Z
                  org/springframework/data/mapping/context/AbstractMappingContext$PersistentPropertyFilter.matches(Lorg/springframework/data/mapping/model/Property;)Z (5)
                  (Lorg/springframework/data/mapping/model/Property;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         4: .line 523
            aload 0 /* this */
            invokedynamic accept(Lorg/springframework/data/mapping/context/AbstractMappingContext$PersistentPropertyCreator;)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/mapping/context/AbstractMappingContext$PersistentPropertyCreator.createAndRegisterProperty(Lorg/springframework/data/mapping/model/Property;)V (7)
                  (Lorg/springframework/data/mapping/model/Property;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         5: .line 524
            return
        end local 0 // org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/springframework/data/mapping/context/AbstractMappingContext$PersistentPropertyCreator;

  private void createAndRegisterProperty(org.springframework.data.mapping.model.Property);
    descriptor: (Lorg/springframework/data/mapping/model/Property;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator this
        start local 1 // org.springframework.data.mapping.model.Property input
         0: .line 528
            aload 0 /* this */
            getfield org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.this$0:Lorg/springframework/data/mapping/context/AbstractMappingContext;
            aload 1 /* input */
            aload 0 /* this */
            getfield org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.entity:Lorg/springframework/data/mapping/model/MutablePersistentEntity;
            aload 0 /* this */
            getfield org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.this$0:Lorg/springframework/data/mapping/context/AbstractMappingContext;
            getfield org.springframework.data.mapping.context.AbstractMappingContext.simpleTypeHolder:Lorg/springframework/data/mapping/model/SimpleTypeHolder;
            invokevirtual org.springframework.data.mapping.context.AbstractMappingContext.createPersistentProperty:(Lorg/springframework/data/mapping/model/Property;Lorg/springframework/data/mapping/model/MutablePersistentEntity;Lorg/springframework/data/mapping/model/SimpleTypeHolder;)Lorg/springframework/data/mapping/PersistentProperty;
            astore 2 /* property */
        start local 2 // org.springframework.data.mapping.PersistentProperty property
         1: .line 530
            aload 2 /* property */
            invokeinterface org.springframework.data.mapping.PersistentProperty.isTransient:()Z
            ifeq 3
         2: .line 531
            return
         3: .line 534
      StackMap locals: org.springframework.data.mapping.PersistentProperty
      StackMap stack:
            aload 1 /* input */
            invokevirtual org.springframework.data.mapping.model.Property.isFieldBacked:()Z
            ifne 5
            aload 2 /* property */
            invokeinterface org.springframework.data.mapping.PersistentProperty.usePropertyAccess:()Z
            ifne 5
         4: .line 535
            return
         5: .line 538
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.entity:Lorg/springframework/data/mapping/model/MutablePersistentEntity;
            aload 2 /* property */
            invokeinterface org.springframework.data.mapping.model.MutablePersistentEntity.addPersistentProperty:(Lorg/springframework/data/mapping/PersistentProperty;)V
         6: .line 540
            aload 2 /* property */
            invokeinterface org.springframework.data.mapping.PersistentProperty.isAssociation:()Z
            ifeq 8
         7: .line 541
            aload 0 /* this */
            getfield org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.entity:Lorg/springframework/data/mapping/model/MutablePersistentEntity;
            aload 2 /* property */
            invokeinterface org.springframework.data.mapping.PersistentProperty.getRequiredAssociation:()Lorg/springframework/data/mapping/Association;
            invokeinterface org.springframework.data.mapping.model.MutablePersistentEntity.addAssociation:(Lorg/springframework/data/mapping/Association;)V
         8: .line 544
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.entity:Lorg/springframework/data/mapping/model/MutablePersistentEntity;
            invokeinterface org.springframework.data.mapping.model.MutablePersistentEntity.getType:()Ljava/lang/Class;
            aload 2 /* property */
            invokeinterface org.springframework.data.mapping.PersistentProperty.getRawType:()Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 545
            return
        10: .line 548
      StackMap locals:
      StackMap stack:
            aload 2 /* property */
            invokeinterface org.springframework.data.mapping.PersistentProperty.getPersistentEntityTypes:()Ljava/lang/Iterable;
            aload 0 /* this */
            getfield org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.this$0:Lorg/springframework/data/mapping/context/AbstractMappingContext;
            invokedynamic accept(Lorg/springframework/data/mapping/context/AbstractMappingContext;)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/mapping/context/AbstractMappingContext.addPersistentEntity(Lorg/springframework/data/util/TypeInformation;)Ljava/util/Optional; (5)
                  (Lorg/springframework/data/util/TypeInformation;)V
            invokeinterface java.lang.Iterable.forEach:(Ljava/util/function/Consumer;)V
        11: .line 549
            return
        end local 2 // org.springframework.data.mapping.PersistentProperty property
        end local 1 // org.springframework.data.mapping.model.Property input
        end local 0 // org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/springframework/data/mapping/context/AbstractMappingContext$PersistentPropertyCreator;
            0   12     1     input  Lorg/springframework/data/mapping/model/Property;
            1   12     2  property  TP;
    MethodParameters:
       Name  Flags
      input  

  private static org.springframework.data.mapping.model.Property lambda$0(org.springframework.data.util.TypeInformation, java.lang.reflect.Field, java.beans.PropertyDescriptor);
    descriptor: (Lorg/springframework/data/util/TypeInformation;Ljava/lang/reflect/Field;Ljava/beans/PropertyDescriptor;)Lorg/springframework/data/mapping/model/Property;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 2 // java.beans.PropertyDescriptor it
         0: .line 503
            aload 0
            aload 1
            aload 2 /* it */
            invokestatic org.springframework.data.mapping.model.Property.of:(Lorg/springframework/data/util/TypeInformation;Ljava/lang/reflect/Field;Ljava/beans/PropertyDescriptor;)Lorg/springframework/data/mapping/model/Property;
            areturn
        end local 2 // java.beans.PropertyDescriptor it
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     2    it  Ljava/beans/PropertyDescriptor;

  private static org.springframework.data.mapping.model.Property lambda$1(org.springframework.data.util.TypeInformation, java.lang.reflect.Field);
    descriptor: (Lorg/springframework/data/util/TypeInformation;Ljava/lang/reflect/Field;)Lorg/springframework/data/mapping/model/Property;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 504
            aload 0
            aload 1
            invokestatic org.springframework.data.mapping.model.Property.of:(Lorg/springframework/data/util/TypeInformation;Ljava/lang/reflect/Field;)Lorg/springframework/data/mapping/model/Property;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private org.springframework.data.mapping.model.Property lambda$3(java.beans.PropertyDescriptor);
    descriptor: (Ljava/beans/PropertyDescriptor;)Lorg/springframework/data/mapping/model/Property;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator this
        start local 1 // java.beans.PropertyDescriptor it
         0: .line 521
            aload 0 /* this */
            getfield org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.entity:Lorg/springframework/data/mapping/model/MutablePersistentEntity;
            invokeinterface org.springframework.data.mapping.model.MutablePersistentEntity.getTypeInformation:()Lorg/springframework/data/util/TypeInformation;
            aload 1 /* it */
            invokestatic org.springframework.data.mapping.model.Property.of:(Lorg/springframework/data/util/TypeInformation;Ljava/beans/PropertyDescriptor;)Lorg/springframework/data/mapping/model/Property;
            areturn
        end local 1 // java.beans.PropertyDescriptor it
        end local 0 // org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/mapping/context/AbstractMappingContext$PersistentPropertyCreator;
            0    1     1    it  Ljava/beans/PropertyDescriptor;
}
SourceFile: "AbstractMappingContext.java"
NestHost: org.springframework.data.mapping.context.AbstractMappingContext
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private final PersistentPropertyCreator = org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator of org.springframework.data.mapping.context.AbstractMappingContext
  final PersistentPropertyFilter = org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyFilter of org.springframework.data.mapping.context.AbstractMappingContext
  public abstract FieldCallback = org.springframework.util.ReflectionUtils$FieldCallback of org.springframework.util.ReflectionUtils