public class org.springframework.data.mapping.model.BasicPersistentEntity<T, P extends org.springframework.data.mapping.PersistentProperty<P>> implements org.springframework.data.mapping.model.MutablePersistentEntity<T, P>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.data.mapping.model.BasicPersistentEntity
  super_class: java.lang.Object
{
  private static final java.lang.String TYPE_MISMATCH;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Target bean of type %s is not of type of the persistent entity (%s)!"

  private final org.springframework.data.mapping.PreferredConstructor<T, P> constructor;
    descriptor: Lorg/springframework/data/mapping/PreferredConstructor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/springframework/data/mapping/PreferredConstructor<TT;TP;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private final org.springframework.data.util.TypeInformation<T> information;
    descriptor: Lorg/springframework/data/util/TypeInformation;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/springframework/data/util/TypeInformation<TT;>;

  private final java.util.List<P> properties;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<TP;>;

  private final java.util.List<P> persistentPropertiesCache;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<TP;>;

  private final java.util.Comparator<P> comparator;
    descriptor: Ljava/util/Comparator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Comparator<TP;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private final java.util.Set<org.springframework.data.mapping.Association<P>> associations;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lorg/springframework/data/mapping/Association<TP;>;>;

  private final java.util.Map<java.lang.String, P> propertyCache;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;TP;>;

  private final java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>, java.util.Optional<java.lang.annotation.Annotation>> annotationCache;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/util/Optional<Ljava/lang/annotation/Annotation;>;>;

  private final org.springframework.util.MultiValueMap<java.lang.Class<? extends java.lang.annotation.Annotation>, P> propertyAnnotationCache;
    descriptor: Lorg/springframework/util/MultiValueMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/springframework/util/MultiValueMap<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;TP;>;

  private P idProperty;
    descriptor: Lorg/springframework/data/mapping/PersistentProperty;
    flags: (0x0002) ACC_PRIVATE
    Signature: TP;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private P versionProperty;
    descriptor: Lorg/springframework/data/mapping/PersistentProperty;
    flags: (0x0002) ACC_PRIVATE
    Signature: TP;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private org.springframework.data.mapping.model.PersistentPropertyAccessorFactory propertyAccessorFactory;
    descriptor: Lorg/springframework/data/mapping/model/PersistentPropertyAccessorFactory;
    flags: (0x0002) ACC_PRIVATE

  private org.springframework.data.spel.EvaluationContextProvider evaluationContextProvider;
    descriptor: Lorg/springframework/data/spel/EvaluationContextProvider;
    flags: (0x0002) ACC_PRIVATE

  private final org.springframework.data.util.Lazy<org.springframework.data.mapping.Alias> typeAlias;
    descriptor: Lorg/springframework/data/util/Lazy;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/springframework/data/util/Lazy<Lorg/springframework/data/mapping/Alias;>;

  private final org.springframework.data.util.Lazy<org.springframework.data.support.IsNewStrategy> isNewStrategy;
    descriptor: Lorg/springframework/data/util/Lazy;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/springframework/data/util/Lazy<Lorg/springframework/data/support/IsNewStrategy;>;

  private final org.springframework.data.util.Lazy<java.lang.Boolean> isImmutable;
    descriptor: Lorg/springframework/data/util/Lazy;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/springframework/data/util/Lazy<Ljava/lang/Boolean;>;

  private final org.springframework.data.util.Lazy<java.lang.Boolean> requiresPropertyPopulation;
    descriptor: Lorg/springframework/data/util/Lazy;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/springframework/data/util/Lazy<Ljava/lang/Boolean;>;

  public void <init>(org.springframework.data.util.TypeInformation<T>);
    descriptor: (Lorg/springframework/data/util/TypeInformation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // org.springframework.data.util.TypeInformation information
         0: .line 86
            aload 0 /* this */
            aload 1 /* information */
            aconst_null
            invokespecial org.springframework.data.mapping.model.BasicPersistentEntity.<init>:(Lorg/springframework/data/util/TypeInformation;Ljava/util/Comparator;)V
         1: .line 87
            return
        end local 1 // org.springframework.data.util.TypeInformation information
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    2     1  information  Lorg/springframework/data/util/TypeInformation<TT;>;
    Signature: (Lorg/springframework/data/util/TypeInformation<TT;>;)V
    MethodParameters:
             Name  Flags
      information  

  public void <init>(org.springframework.data.util.TypeInformation<T>, java.util.Comparator<P>);
    descriptor: (Lorg/springframework/data/util/TypeInformation;Ljava/util/Comparator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
         0: .line 106
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tCannot infer type arguments for AssociationComparator<>\n\tThe constructor TargetAwareIdentifierAccessor(Object) is undefined\n\tThe blank final field delegate may not have been initialized\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
    Signature: (Lorg/springframework/data/util/TypeInformation<TT;>;Ljava/util/Comparator<TP;>;)V
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
             Name  Flags
      information  
      comparator   

  public org.springframework.data.mapping.PreferredConstructor<T, P> getPersistenceConstructor();
    descriptor: ()Lorg/springframework/data/mapping/PreferredConstructor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
         0: .line 129
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.constructor:Lorg/springframework/data/mapping/PreferredConstructor;
            areturn
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
    Signature: ()Lorg/springframework/data/mapping/PreferredConstructor<TT;TP;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public boolean isConstructorArgument(org.springframework.data.mapping.PersistentProperty<?>);
    descriptor: (Lorg/springframework/data/mapping/PersistentProperty;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // org.springframework.data.mapping.PersistentProperty property
         0: .line 137
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.constructor:Lorg/springframework/data/mapping/PreferredConstructor;
            ifnull 1
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.constructor:Lorg/springframework/data/mapping/PreferredConstructor;
            aload 1 /* property */
            invokevirtual org.springframework.data.mapping.PreferredConstructor.isConstructorParameter:(Lorg/springframework/data/mapping/PersistentProperty;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.springframework.data.mapping.PersistentProperty property
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    2     1  property  Lorg/springframework/data/mapping/PersistentProperty<*>;
    Signature: (Lorg/springframework/data/mapping/PersistentProperty<*>;)Z
    MethodParameters:
          Name  Flags
      property  

  public boolean isIdProperty(org.springframework.data.mapping.PersistentProperty<?>);
    descriptor: (Lorg/springframework/data/mapping/PersistentProperty;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // org.springframework.data.mapping.PersistentProperty property
         0: .line 145
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.idProperty:Lorg/springframework/data/mapping/PersistentProperty;
            ifnull 1
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.idProperty:Lorg/springframework/data/mapping/PersistentProperty;
            aload 1 /* property */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.springframework.data.mapping.PersistentProperty property
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    2     1  property  Lorg/springframework/data/mapping/PersistentProperty<*>;
    Signature: (Lorg/springframework/data/mapping/PersistentProperty<*>;)Z
    MethodParameters:
          Name  Flags
      property  

  public boolean isVersionProperty(org.springframework.data.mapping.PersistentProperty<?>);
    descriptor: (Lorg/springframework/data/mapping/PersistentProperty;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // org.springframework.data.mapping.PersistentProperty property
         0: .line 153
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.versionProperty:Lorg/springframework/data/mapping/PersistentProperty;
            ifnull 1
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.versionProperty:Lorg/springframework/data/mapping/PersistentProperty;
            aload 1 /* property */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.springframework.data.mapping.PersistentProperty property
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    2     1  property  Lorg/springframework/data/mapping/PersistentProperty<*>;
    Signature: (Lorg/springframework/data/mapping/PersistentProperty<*>;)Z
    MethodParameters:
          Name  Flags
      property  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
         0: .line 161
            aload 0 /* this */
            invokevirtual org.springframework.data.mapping.model.BasicPersistentEntity.getType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;

  public P getIdProperty();
    descriptor: ()Lorg/springframework/data/mapping/PersistentProperty;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
         0: .line 170
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.idProperty:Lorg/springframework/data/mapping/PersistentProperty;
            areturn
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
    Signature: ()TP;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public P getVersionProperty();
    descriptor: ()Lorg/springframework/data/mapping/PersistentProperty;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
         0: .line 179
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.versionProperty:Lorg/springframework/data/mapping/PersistentProperty;
            areturn
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
    Signature: ()TP;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public boolean hasIdProperty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
         0: .line 187
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.idProperty:Lorg/springframework/data/mapping/PersistentProperty;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;

  public boolean hasVersionProperty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
         0: .line 195
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.versionProperty:Lorg/springframework/data/mapping/PersistentProperty;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;

  public void addPersistentProperty();
    descriptor: (Lorg/springframework/data/mapping/PersistentProperty;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // org.springframework.data.mapping.PersistentProperty property
         0: .line 204
            aload 1 /* property */
            ldc "Property must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 206
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.properties:Ljava/util/List;
            aload 1 /* property */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 207
            return
         3: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.properties:Ljava/util/List;
            aload 1 /* property */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 212
            aload 1 /* property */
            invokeinterface org.springframework.data.mapping.PersistentProperty.isTransient:()Z
            ifne 6
            aload 1 /* property */
            invokeinterface org.springframework.data.mapping.PersistentProperty.isAssociation:()Z
            ifne 6
         5: .line 213
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.persistentPropertiesCache:Ljava/util/List;
            aload 1 /* property */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.propertyCache:Ljava/util/Map;
            aload 1 /* property */
            invokeinterface org.springframework.data.mapping.PersistentProperty.getName:()Ljava/lang/String;
            aload 1 /* property */
            invokedynamic apply(Lorg/springframework/data/mapping/PersistentProperty;)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/model/BasicPersistentEntity.lambda$5(Lorg/springframework/data/mapping/PersistentProperty;Ljava/lang/String;)Lorg/springframework/data/mapping/PersistentProperty; (6)
                  (Ljava/lang/String;)Lorg/springframework/data/mapping/PersistentProperty;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            pop
         7: .line 218
            aload 0 /* this */
            aload 1 /* property */
            invokevirtual org.springframework.data.mapping.model.BasicPersistentEntity.returnPropertyIfBetterIdPropertyCandidateOrNull:(Lorg/springframework/data/mapping/PersistentProperty;)Lorg/springframework/data/mapping/PersistentProperty;
            astore 2 /* candidate */
        start local 2 // org.springframework.data.mapping.PersistentProperty candidate
         8: .line 220
            aload 2 /* candidate */
            ifnull 10
         9: .line 221
            aload 0 /* this */
            aload 2 /* candidate */
            putfield org.springframework.data.mapping.model.BasicPersistentEntity.idProperty:Lorg/springframework/data/mapping/PersistentProperty;
        10: .line 224
      StackMap locals: org.springframework.data.mapping.PersistentProperty
      StackMap stack:
            aload 1 /* property */
            invokeinterface org.springframework.data.mapping.PersistentProperty.isVersionProperty:()Z
            ifeq 19
        11: .line 226
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.versionProperty:Lorg/springframework/data/mapping/PersistentProperty;
            astore 3 /* versionProperty */
        start local 3 // org.springframework.data.mapping.PersistentProperty versionProperty
        12: .line 228
            aload 3 /* versionProperty */
            ifnull 18
        13: .line 230
            new org.springframework.data.mapping.MappingException
            dup
        14: .line 232
            ldc "Attempt to add version property %s but already have property %s registered as version. Check your mapping configuration!"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        15: .line 234
            aload 1 /* property */
            invokeinterface org.springframework.data.mapping.PersistentProperty.getField:()Ljava/lang/reflect/Field;
            aastore
            dup
            iconst_1
            aload 3 /* versionProperty */
            invokeinterface org.springframework.data.mapping.PersistentProperty.getField:()Ljava/lang/reflect/Field;
            aastore
        16: .line 231
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        17: .line 230
            invokespecial org.springframework.data.mapping.MappingException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 237
      StackMap locals: org.springframework.data.mapping.PersistentProperty
      StackMap stack:
            aload 0 /* this */
            aload 1 /* property */
            putfield org.springframework.data.mapping.model.BasicPersistentEntity.versionProperty:Lorg/springframework/data/mapping/PersistentProperty;
        end local 3 // org.springframework.data.mapping.PersistentProperty versionProperty
        19: .line 239
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.springframework.data.mapping.PersistentProperty candidate
        end local 1 // org.springframework.data.mapping.PersistentProperty property
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   20     0             this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0   20     1         property  TP;
            8   20     2        candidate  TP;
           12   19     3  versionProperty  TP;
    Signature: (TP;)V
    MethodParameters:
          Name  Flags
      property  

  public void setEvaluationContextProvider(org.springframework.data.spel.EvaluationContextProvider);
    descriptor: (Lorg/springframework/data/spel/EvaluationContextProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // org.springframework.data.spel.EvaluationContextProvider provider
         0: .line 247
            aload 0 /* this */
            aload 1 /* provider */
            putfield org.springframework.data.mapping.model.BasicPersistentEntity.evaluationContextProvider:Lorg/springframework/data/spel/EvaluationContextProvider;
         1: .line 248
            return
        end local 1 // org.springframework.data.spel.EvaluationContextProvider provider
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    2     1  provider  Lorg/springframework/data/spel/EvaluationContextProvider;
    MethodParameters:
          Name  Flags
      provider  

  protected P returnPropertyIfBetterIdPropertyCandidateOrNull();
    descriptor: (Lorg/springframework/data/mapping/PersistentProperty;)Lorg/springframework/data/mapping/PersistentProperty;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // org.springframework.data.mapping.PersistentProperty property
         0: .line 259
            aload 1 /* property */
            invokeinterface org.springframework.data.mapping.PersistentProperty.isIdProperty:()Z
            ifne 2
         1: .line 260
            aconst_null
            areturn
         2: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.idProperty:Lorg/springframework/data/mapping/PersistentProperty;
            astore 2 /* idProperty */
        start local 2 // org.springframework.data.mapping.PersistentProperty idProperty
         3: .line 265
            aload 2 /* idProperty */
            ifnull 7
         4: .line 266
            new org.springframework.data.mapping.MappingException
            dup
            ldc "Attempt to add id property %s but already have property %s registered as id. Check your mapping configuration!"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 267
            aload 1 /* property */
            invokeinterface org.springframework.data.mapping.PersistentProperty.getField:()Ljava/lang/reflect/Field;
            aastore
            dup
            iconst_1
            aload 2 /* idProperty */
            invokeinterface org.springframework.data.mapping.PersistentProperty.getField:()Ljava/lang/reflect/Field;
            aastore
         6: .line 266
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.springframework.data.mapping.MappingException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 270
      StackMap locals: org.springframework.data.mapping.PersistentProperty
      StackMap stack:
            aload 1 /* property */
            areturn
        end local 2 // org.springframework.data.mapping.PersistentProperty idProperty
        end local 1 // org.springframework.data.mapping.PersistentProperty property
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    8     1    property  TP;
            3    8     2  idProperty  TP;
    Signature: (TP;)TP;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
          Name  Flags
      property  

  public void addAssociation(org.springframework.data.mapping.Association<P>);
    descriptor: (Lorg/springframework/data/mapping/Association;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // org.springframework.data.mapping.Association association
         0: .line 279
            aload 1 /* association */
            ldc "Association must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 281
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.associations:Ljava/util/Set;
            aload 1 /* association */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 282
            return
        end local 1 // org.springframework.data.mapping.Association association
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    3     1  association  Lorg/springframework/data/mapping/Association<TP;>;
    Signature: (Lorg/springframework/data/mapping/Association<TP;>;)V
    MethodParameters:
             Name  Flags
      association  

  public P getPersistentProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/springframework/data/mapping/PersistentProperty;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // java.lang.String name
         0: .line 291
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.propertyCache:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.springframework.data.mapping.PersistentProperty
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    1     1  name  Ljava/lang/String;
    Signature: (Ljava/lang/String;)TP;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
      Name  Flags
      name  

  public java.lang.Iterable<P> getPersistentProperties(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // java.lang.Class annotationType
         0: .line 301
            aload 1 /* annotationType */
            ldc "Annotation type must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 302
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.propertyAnnotationCache:Lorg/springframework/util/MultiValueMap;
            aload 1 /* annotationType */
            aload 0 /* this */
            invokedynamic apply(Lorg/springframework/data/mapping/model/BasicPersistentEntity;)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/model/BasicPersistentEntity.doFindPersistentProperty(Ljava/lang/Class;)Ljava/util/List; (7)
                  (Ljava/lang/Class;)Ljava/util/List;
            invokeinterface org.springframework.util.MultiValueMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.lang.Iterable
            areturn
        end local 1 // java.lang.Class annotationType
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    2     1  annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/lang/Iterable<TP;>;
    MethodParameters:
                Name  Flags
      annotationType  

  private java.util.List<P> doFindPersistentProperty(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // java.lang.Class annotationType
         0: .line 307
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.properties:Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         1: .line 308
            aload 1 /* annotationType */
            invokedynamic test(Ljava/lang/Class;)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/BasicPersistentEntity.lambda$7(Ljava/lang/Class;Lorg/springframework/data/mapping/PersistentProperty;)Z (6)
                  (Lorg/springframework/data/mapping/PersistentProperty;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         2: .line 309
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         3: .line 307
            astore 2 /* annotatedProperties */
        start local 2 // java.util.List annotatedProperties
         4: .line 311
            aload 2 /* annotatedProperties */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 6
         5: .line 312
            aload 2 /* annotatedProperties */
            areturn
         6: .line 315
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.associations:Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
         7: .line 316
            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/mapping/Association.getInverse()Lorg/springframework/data/mapping/PersistentProperty; (5)
                  (Lorg/springframework/data/mapping/Association;)Lorg/springframework/data/mapping/PersistentProperty;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         8: .line 317
            aload 1 /* annotationType */
            invokedynamic test(Ljava/lang/Class;)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/BasicPersistentEntity.lambda$9(Ljava/lang/Class;Lorg/springframework/data/mapping/PersistentProperty;)Z (6)
                  (Lorg/springframework/data/mapping/PersistentProperty;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         9: .line 315
            areturn
        end local 2 // java.util.List annotatedProperties
        end local 1 // java.lang.Class annotationType
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   10     0                 this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0   10     1       annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            4   10     2  annotatedProperties  Ljava/util/List<TP;>;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/util/List<TP;>;
    MethodParameters:
                Name  Flags
      annotationType  

  public java.lang.Class<T> getType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
         0: .line 325
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.information:Lorg/springframework/data/util/TypeInformation;
            invokeinterface org.springframework.data.util.TypeInformation.getType:()Ljava/lang/Class;
            areturn
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
    Signature: ()Ljava/lang/Class<TT;>;

  public org.springframework.data.mapping.Alias getTypeAlias();
    descriptor: ()Lorg/springframework/data/mapping/Alias;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
         0: .line 333
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.typeAlias:Lorg/springframework/data/util/Lazy;
            invokevirtual org.springframework.data.util.Lazy.get:()Ljava/lang/Object;
            checkcast org.springframework.data.mapping.Alias
            areturn
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;

  public org.springframework.data.util.TypeInformation<T> getTypeInformation();
    descriptor: ()Lorg/springframework/data/util/TypeInformation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
         0: .line 341
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.information:Lorg/springframework/data/util/TypeInformation;
            areturn
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
    Signature: ()Lorg/springframework/data/util/TypeInformation<TT;>;

  public void doWithProperties(org.springframework.data.mapping.PropertyHandler<P>);
    descriptor: (Lorg/springframework/data/mapping/PropertyHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // org.springframework.data.mapping.PropertyHandler handler
         0: .line 350
            aload 1 /* handler */
            ldc "PropertyHandler must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 352
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.persistentPropertiesCache:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.springframework.data.mapping.model.BasicPersistentEntity org.springframework.data.mapping.PropertyHandler top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.data.mapping.PersistentProperty
            astore 2 /* property */
        start local 2 // org.springframework.data.mapping.PersistentProperty property
         3: .line 353
            aload 1 /* handler */
            aload 2 /* property */
            invokeinterface org.springframework.data.mapping.PropertyHandler.doWithPersistentProperty:(Lorg/springframework/data/mapping/PersistentProperty;)V
        end local 2 // org.springframework.data.mapping.PersistentProperty property
         4: .line 352
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 355
            return
        end local 1 // org.springframework.data.mapping.PropertyHandler handler
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    6     1   handler  Lorg/springframework/data/mapping/PropertyHandler<TP;>;
            3    4     2  property  TP;
    Signature: (Lorg/springframework/data/mapping/PropertyHandler<TP;>;)V
    MethodParameters:
         Name  Flags
      handler  

  public void doWithProperties(org.springframework.data.mapping.SimplePropertyHandler);
    descriptor: (Lorg/springframework/data/mapping/SimplePropertyHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // org.springframework.data.mapping.SimplePropertyHandler handler
         0: .line 364
            aload 1 /* handler */
            ldc "Handler must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 366
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.persistentPropertiesCache:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.springframework.data.mapping.model.BasicPersistentEntity org.springframework.data.mapping.SimplePropertyHandler top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.data.mapping.PersistentProperty
            astore 2 /* property */
        start local 2 // org.springframework.data.mapping.PersistentProperty property
         3: .line 367
            aload 1 /* handler */
            aload 2 /* property */
            invokeinterface org.springframework.data.mapping.SimplePropertyHandler.doWithPersistentProperty:(Lorg/springframework/data/mapping/PersistentProperty;)V
        end local 2 // org.springframework.data.mapping.PersistentProperty property
         4: .line 366
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 369
            return
        end local 1 // org.springframework.data.mapping.SimplePropertyHandler handler
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    6     1   handler  Lorg/springframework/data/mapping/SimplePropertyHandler;
            3    4     2  property  Lorg/springframework/data/mapping/PersistentProperty<*>;
    MethodParameters:
         Name  Flags
      handler  

  public void doWithAssociations(org.springframework.data.mapping.AssociationHandler<P>);
    descriptor: (Lorg/springframework/data/mapping/AssociationHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // org.springframework.data.mapping.AssociationHandler handler
         0: .line 377
            aload 1 /* handler */
            ldc "Handler must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 379
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.associations:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.springframework.data.mapping.model.BasicPersistentEntity org.springframework.data.mapping.AssociationHandler top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.data.mapping.Association
            astore 2 /* association */
        start local 2 // org.springframework.data.mapping.Association association
         3: .line 380
            aload 1 /* handler */
            aload 2 /* association */
            invokeinterface org.springframework.data.mapping.AssociationHandler.doWithAssociation:(Lorg/springframework/data/mapping/Association;)V
        end local 2 // org.springframework.data.mapping.Association association
         4: .line 379
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 382
            return
        end local 1 // org.springframework.data.mapping.AssociationHandler handler
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    6     1      handler  Lorg/springframework/data/mapping/AssociationHandler<TP;>;
            3    4     2  association  Lorg/springframework/data/mapping/Association<TP;>;
    Signature: (Lorg/springframework/data/mapping/AssociationHandler<TP;>;)V
    MethodParameters:
         Name  Flags
      handler  

  public void doWithAssociations(org.springframework.data.mapping.SimpleAssociationHandler);
    descriptor: (Lorg/springframework/data/mapping/SimpleAssociationHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // org.springframework.data.mapping.SimpleAssociationHandler handler
         0: .line 390
            aload 1 /* handler */
            ldc "Handler must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 392
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.associations:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.springframework.data.mapping.model.BasicPersistentEntity org.springframework.data.mapping.SimpleAssociationHandler top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.data.mapping.Association
            astore 2 /* association */
        start local 2 // org.springframework.data.mapping.Association association
         3: .line 393
            aload 1 /* handler */
            aload 2 /* association */
            invokeinterface org.springframework.data.mapping.SimpleAssociationHandler.doWithAssociation:(Lorg/springframework/data/mapping/Association;)V
        end local 2 // org.springframework.data.mapping.Association association
         4: .line 392
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 395
            return
        end local 1 // org.springframework.data.mapping.SimpleAssociationHandler handler
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    6     1      handler  Lorg/springframework/data/mapping/SimpleAssociationHandler;
            3    4     2  association  Lorg/springframework/data/mapping/Association<+Lorg/springframework/data/mapping/PersistentProperty<*>;>;
    MethodParameters:
         Name  Flags
      handler  

  public <A extends java.lang.annotation.Annotation> A findAnnotation(java.lang.Class<A>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // java.lang.Class annotationType
         0: .line 404
            aload 0 /* this */
            aload 1 /* annotationType */
            invokevirtual org.springframework.data.mapping.model.BasicPersistentEntity.doFindAnnotation:(Ljava/lang/Class;)Ljava/util/Optional;
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.annotation.Annotation
            areturn
        end local 1 // java.lang.Class annotationType
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    1     1  annotationType  Ljava/lang/Class<TA;>;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)TA;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      annotationType  

  public <A extends java.lang.annotation.Annotation> boolean isAnnotationPresent(java.lang.Class<A>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // java.lang.Class annotationType
         0: .line 413
            aload 0 /* this */
            aload 1 /* annotationType */
            invokevirtual org.springframework.data.mapping.model.BasicPersistentEntity.doFindAnnotation:(Ljava/lang/Class;)Ljava/util/Optional;
            invokevirtual java.util.Optional.isPresent:()Z
            ireturn
        end local 1 // java.lang.Class annotationType
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    1     1  annotationType  Ljava/lang/Class<TA;>;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)Z
    MethodParameters:
                Name  Flags
      annotationType  

  private <A extends java.lang.annotation.Annotation> java.util.Optional<A> doFindAnnotation(java.lang.Class<A>);
    descriptor: (Ljava/lang/Class;)Ljava/util/Optional;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // java.lang.Class annotationType
         0: .line 419
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.annotationCache:Ljava/util/Map;
            aload 1 /* annotationType */
         1: .line 420
            aload 0 /* this */
            invokedynamic apply(Lorg/springframework/data/mapping/model/BasicPersistentEntity;)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/model/BasicPersistentEntity.lambda$10(Ljava/lang/Class;)Ljava/util/Optional; (7)
                  (Ljava/lang/Class;)Ljava/util/Optional;
         2: .line 419
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.Optional
            areturn
        end local 1 // java.lang.Class annotationType
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    3     1  annotationType  Ljava/lang/Class<TA;>;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)Ljava/util/Optional<TA;>;
    MethodParameters:
                Name  Flags
      annotationType  

  public void verify();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
         0: .line 429
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.comparator:Ljava/util/Comparator;
            ifnull 3
         1: .line 430
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.properties:Ljava/util/List;
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.comparator:Ljava/util/Comparator;
            invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
         2: .line 431
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.persistentPropertiesCache:Ljava/util/List;
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.comparator:Ljava/util/Comparator;
            invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
         3: .line 433
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;

  public void setPersistentPropertyAccessorFactory(org.springframework.data.mapping.model.PersistentPropertyAccessorFactory);
    descriptor: (Lorg/springframework/data/mapping/model/PersistentPropertyAccessorFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // org.springframework.data.mapping.model.PersistentPropertyAccessorFactory factory
         0: .line 441
            aload 0 /* this */
            aload 1 /* factory */
            putfield org.springframework.data.mapping.model.BasicPersistentEntity.propertyAccessorFactory:Lorg/springframework/data/mapping/model/PersistentPropertyAccessorFactory;
         1: .line 442
            return
        end local 1 // org.springframework.data.mapping.model.PersistentPropertyAccessorFactory factory
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    2     1  factory  Lorg/springframework/data/mapping/model/PersistentPropertyAccessorFactory;
    MethodParameters:
         Name  Flags
      factory  

  public <B> org.springframework.data.mapping.PersistentPropertyAccessor<B> getPropertyAccessor(B);
    descriptor: (Ljava/lang/Object;)Lorg/springframework/data/mapping/PersistentPropertyAccessor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // java.lang.Object bean
         0: .line 451
            aload 0 /* this */
            aload 1 /* bean */
            invokevirtual org.springframework.data.mapping.model.BasicPersistentEntity.verifyBeanType:(Ljava/lang/Object;)V
         1: .line 453
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.propertyAccessorFactory:Lorg/springframework/data/mapping/model/PersistentPropertyAccessorFactory;
            aload 0 /* this */
            aload 1 /* bean */
            invokeinterface org.springframework.data.mapping.model.PersistentPropertyAccessorFactory.getPropertyAccessor:(Lorg/springframework/data/mapping/PersistentEntity;Ljava/lang/Object;)Lorg/springframework/data/mapping/PersistentPropertyAccessor;
            areturn
        end local 1 // java.lang.Object bean
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    2     1  bean  TB;
    Signature: <B:Ljava/lang/Object;>(TB;)Lorg/springframework/data/mapping/PersistentPropertyAccessor<TB;>;
    MethodParameters:
      Name  Flags
      bean  

  public org.springframework.data.mapping.IdentifierAccessor getIdentifierAccessor(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/springframework/data/mapping/IdentifierAccessor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // java.lang.Object bean
         0: .line 463
            aload 0 /* this */
            aload 1 /* bean */
            invokevirtual org.springframework.data.mapping.model.BasicPersistentEntity.verifyBeanType:(Ljava/lang/Object;)V
         1: .line 465
            ldc Lorg/springframework/data/domain/Persistable;
            aload 0 /* this */
            invokevirtual org.springframework.data.mapping.model.BasicPersistentEntity.getType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 3
         2: .line 466
            new org.springframework.data.mapping.model.PersistableIdentifierAccessor
            dup
            aload 1 /* bean */
            checkcast org.springframework.data.domain.Persistable
            invokespecial org.springframework.data.mapping.model.PersistableIdentifierAccessor.<init>:(Lorg/springframework/data/domain/Persistable;)V
            areturn
         3: .line 469
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.data.mapping.model.BasicPersistentEntity.hasIdProperty:()Z
            ifeq 4
            new org.springframework.data.mapping.model.IdPropertyIdentifierAccessor
            dup
            aload 0 /* this */
            aload 1 /* bean */
            invokespecial org.springframework.data.mapping.model.IdPropertyIdentifierAccessor.<init>:(Lorg/springframework/data/mapping/PersistentEntity;Ljava/lang/Object;)V
            goto 5
      StackMap locals:
      StackMap stack:
         4: new org.springframework.data.mapping.model.BasicPersistentEntity$AbsentIdentifierAccessor
            dup
            aload 1 /* bean */
            invokespecial org.springframework.data.mapping.model.BasicPersistentEntity$AbsentIdentifierAccessor.<init>:(Ljava/lang/Object;)V
      StackMap locals:
      StackMap stack: org.springframework.data.mapping.TargetAwareIdentifierAccessor
         5: areturn
        end local 1 // java.lang.Object bean
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    6     1  bean  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      bean  

  public boolean isNew(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // java.lang.Object bean
         0: .line 479
            aload 0 /* this */
            aload 1 /* bean */
            invokevirtual org.springframework.data.mapping.model.BasicPersistentEntity.verifyBeanType:(Ljava/lang/Object;)V
         1: .line 481
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.isNewStrategy:Lorg/springframework/data/util/Lazy;
            invokevirtual org.springframework.data.util.Lazy.get:()Ljava/lang/Object;
            checkcast org.springframework.data.support.IsNewStrategy
            aload 1 /* bean */
            invokeinterface org.springframework.data.support.IsNewStrategy.isNew:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object bean
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    2     1  bean  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      bean  

  public boolean isImmutable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
         0: .line 490
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.isImmutable:Lorg/springframework/data/util/Lazy;
            invokevirtual org.springframework.data.util.Lazy.get:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;

  public boolean requiresPropertyPopulation();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
         0: .line 499
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.requiresPropertyPopulation:Lorg/springframework/data/util/Lazy;
            invokevirtual org.springframework.data.util.Lazy.get:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;

  public java.util.Iterator<P> iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
         0: .line 509
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.properties:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 1 /* iterator */
        start local 1 // java.util.Iterator iterator
         1: .line 511
            new org.springframework.data.mapping.model.BasicPersistentEntity$1
            dup
            aload 0 /* this */
            aload 1 /* iterator */
            invokespecial org.springframework.data.mapping.model.BasicPersistentEntity$1.<init>:(Lorg/springframework/data/mapping/model/BasicPersistentEntity;Ljava/util/Iterator;)V
            areturn
        end local 1 // java.util.Iterator iterator
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            1    2     1  iterator  Ljava/util/Iterator<TP;>;
    Signature: ()Ljava/util/Iterator<TP;>;

  protected org.springframework.expression.EvaluationContext getEvaluationContext(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/springframework/expression/EvaluationContext;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // java.lang.Object rootObject
         0: .line 526
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.BasicPersistentEntity.evaluationContextProvider:Lorg/springframework/data/spel/EvaluationContextProvider;
            aload 1 /* rootObject */
            invokeinterface org.springframework.data.spel.EvaluationContextProvider.getEvaluationContext:(Ljava/lang/Object;)Lorg/springframework/expression/EvaluationContext;
            areturn
        end local 1 // java.lang.Object rootObject
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    1     1  rootObject  Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      rootObject  

  protected org.springframework.data.support.IsNewStrategy getFallbackIsNewStrategy();
    descriptor: ()Lorg/springframework/data/support/IsNewStrategy;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
         0: .line 538
            aload 0 /* this */
            invokestatic org.springframework.data.mapping.model.PersistentEntityIsNewStrategy.of:(Lorg/springframework/data/mapping/PersistentEntity;)Lorg/springframework/data/mapping/model/PersistentEntityIsNewStrategy;
            areturn
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;

  private final void verifyBeanType(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // java.lang.Object bean
         0: .line 548
            aload 1 /* bean */
            ldc "Target bean must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 549
            aload 0 /* this */
            invokevirtual org.springframework.data.mapping.model.BasicPersistentEntity.getType:()Ljava/lang/Class;
            aload 1 /* bean */
         2: .line 550
            aload 0 /* this */
            aload 1 /* bean */
            invokedynamic get(Lorg/springframework/data/mapping/model/BasicPersistentEntity;Ljava/lang/Object;)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/model/BasicPersistentEntity.lambda$11(Ljava/lang/Object;)Ljava/lang/String; (7)
                  ()Ljava/lang/String;
         3: .line 549
            invokestatic org.springframework.util.Assert.isInstanceOf:(Ljava/lang/Class;Ljava/lang/Object;Ljava/util/function/Supplier;)V
         4: .line 551
            return
        end local 1 // java.lang.Object bean
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    5     1  bean  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      bean  

  private static org.springframework.data.mapping.Alias getAliasFromAnnotation(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lorg/springframework/data/mapping/Alias;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Class type
         0: .line 562
            aload 0 /* type */
            ldc Lorg/springframework/data/annotation/TypeAlias;
            invokestatic org.springframework.core.annotation.AnnotatedElementUtils.findMergedAnnotation:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.springframework.data.annotation.TypeAlias
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
         1: .line 563
            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/annotation/TypeAlias.value()Ljava/lang/String; (9 itf)
                  (Lorg/springframework/data/annotation/TypeAlias;)Ljava/lang/String;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
         2: .line 564
            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/util/StringUtils.hasText(Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokevirtual java.util.Optional.filter:(Ljava/util/function/Predicate;)Ljava/util/Optional;
         3: .line 561
            astore 1 /* typeAliasValue */
        start local 1 // java.util.Optional typeAliasValue
         4: .line 566
            aload 1 /* typeAliasValue */
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.springframework.data.mapping.Alias.ofNullable:(Ljava/lang/Object;)Lorg/springframework/data/mapping/Alias;
            areturn
        end local 1 // java.util.Optional typeAliasValue
        end local 0 // java.lang.Class type
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            type  Ljava/lang/Class<*>;
            4    5     1  typeAliasValue  Ljava/util/Optional<Ljava/lang/String;>;
    Signature: (Ljava/lang/Class<*>;)Lorg/springframework/data/mapping/Alias;
    MethodParameters:
      Name  Flags
      type  

  private static org.springframework.data.mapping.PersistentProperty lambda$5(org.springframework.data.mapping.PersistentProperty, java.lang.String);
    descriptor: (Lorg/springframework/data/mapping/PersistentProperty;Ljava/lang/String;)Lorg/springframework/data/mapping/PersistentProperty;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 1 // java.lang.String key
         0: .line 216
            aload 0
            areturn
        end local 1 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1   key  Ljava/lang/String;

  private static boolean lambda$7(java.lang.Class, org.springframework.data.mapping.PersistentProperty);
    descriptor: (Ljava/lang/Class;Lorg/springframework/data/mapping/PersistentProperty;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // org.springframework.data.mapping.PersistentProperty it
         0: .line 308
            aload 1 /* it */
            aload 0
            invokeinterface org.springframework.data.mapping.PersistentProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ireturn
        end local 1 // org.springframework.data.mapping.PersistentProperty it
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1    it  TP;

  private static boolean lambda$9(java.lang.Class, org.springframework.data.mapping.PersistentProperty);
    descriptor: (Ljava/lang/Class;Lorg/springframework/data/mapping/PersistentProperty;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // org.springframework.data.mapping.PersistentProperty it
         0: .line 317
            aload 1 /* it */
            aload 0
            invokeinterface org.springframework.data.mapping.PersistentProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ireturn
        end local 1 // org.springframework.data.mapping.PersistentProperty it
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1    it  TP;

  private java.util.Optional lambda$10(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/util/Optional;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
        start local 1 // java.lang.Class it
         0: .line 420
            aload 0 /* this */
            invokevirtual org.springframework.data.mapping.model.BasicPersistentEntity.getType:()Ljava/lang/Class;
            aload 1 /* it */
            invokestatic org.springframework.core.annotation.AnnotatedElementUtils.findMergedAnnotation:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 1 // java.lang.Class it
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
            0    1     1    it  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;

  private java.lang.String lambda$11(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
         0: .line 550
            ldc "Target bean of type %s is not of type of the persistent entity (%s)!"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual org.springframework.data.mapping.model.BasicPersistentEntity.getType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // org.springframework.data.mapping.model.BasicPersistentEntity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/mapping/model/BasicPersistentEntity<TT;TP;>;
}
Signature: <T:Ljava/lang/Object;P::Lorg/springframework/data/mapping/PersistentProperty<TP;>;>Ljava/lang/Object;Lorg/springframework/data/mapping/model/MutablePersistentEntity<TT;TP;>;
SourceFile: "BasicPersistentEntity.java"
NestMembers:
  org.springframework.data.mapping.model.BasicPersistentEntity$1  org.springframework.data.mapping.model.BasicPersistentEntity$AbsentIdentifierAccessor  org.springframework.data.mapping.model.BasicPersistentEntity$AssociationComparator
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  org.springframework.data.mapping.model.BasicPersistentEntity$1
  private AbsentIdentifierAccessor = org.springframework.data.mapping.model.BasicPersistentEntity$AbsentIdentifierAccessor of org.springframework.data.mapping.model.BasicPersistentEntity
  private final AssociationComparator = org.springframework.data.mapping.model.BasicPersistentEntity$AssociationComparator of org.springframework.data.mapping.model.BasicPersistentEntity