class org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl extends org.springframework.data.mapping.model.AnnotationBasedPersistentProperty<org.springframework.data.jpa.mapping.JpaPersistentProperty> implements org.springframework.data.jpa.mapping.JpaPersistentProperty
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl
  super_class: org.springframework.data.mapping.model.AnnotationBasedPersistentProperty
{
  private static final java.util.Collection<java.lang.Class<? extends java.lang.annotation.Annotation>> ASSOCIATION_ANNOTATIONS;
    descriptor: Ljava/util/Collection;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Collection<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;

  private static final java.util.Collection<java.lang.Class<? extends java.lang.annotation.Annotation>> ID_ANNOTATIONS;
    descriptor: Ljava/util/Collection;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Collection<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;

  private static final java.util.Collection<java.lang.Class<? extends java.lang.annotation.Annotation>> UPDATEABLE_ANNOTATIONS;
    descriptor: Ljava/util/Collection;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Collection<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;

  private final java.lang.Boolean usePropertyAccess;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private final org.springframework.data.util.TypeInformation<?> associationTargetType;
    descriptor: Lorg/springframework/data/util/TypeInformation;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/springframework/data/util/TypeInformation<*>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private final boolean updateable;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.springframework.data.util.Lazy<java.lang.Boolean> isIdProperty;
    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> isAssociation;
    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> isEntity;
    descriptor: Lorg/springframework/data/util/Lazy;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/springframework/data/util/Lazy<Ljava/lang/Boolean;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 60
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 0 /* annotations */
        start local 0 // java.util.Set annotations
         1: .line 61
            aload 0 /* annotations */
            ldc Ljavax/persistence/OneToMany;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 62
            aload 0 /* annotations */
            ldc Ljavax/persistence/OneToOne;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 63
            aload 0 /* annotations */
            ldc Ljavax/persistence/ManyToMany;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 64
            aload 0 /* annotations */
            ldc Ljavax/persistence/ManyToOne;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 66
            aload 0 /* annotations */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            putstatic org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.ASSOCIATION_ANNOTATIONS:Ljava/util/Collection;
         6: .line 68
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 0 /* annotations */
         7: .line 69
            aload 0 /* annotations */
            ldc Ljavax/persistence/Id;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         8: .line 70
            aload 0 /* annotations */
            ldc Ljavax/persistence/EmbeddedId;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 72
            aload 0 /* annotations */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            putstatic org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.ID_ANNOTATIONS:Ljava/util/Collection;
        10: .line 74
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 0 /* annotations */
        11: .line 75
            aload 0 /* annotations */
            ldc Ljavax/persistence/Column;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        12: .line 76
            aload 0 /* annotations */
            ldc Ljavax/persistence/OrderColumn;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        13: .line 78
            aload 0 /* annotations */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            putstatic org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.UPDATEABLE_ANNOTATIONS:Ljava/util/Collection;
        end local 0 // java.util.Set annotations
        14: .line 79
            return
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            1   14     0  annotations  Ljava/util/Set<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;

  public void <init>(org.springframework.data.jpa.util.JpaMetamodel, org.springframework.data.mapping.model.Property, org.springframework.data.mapping.PersistentEntity<?, org.springframework.data.jpa.mapping.JpaPersistentProperty>, org.springframework.data.mapping.model.SimpleTypeHolder);
    descriptor: (Lorg/springframework/data/jpa/util/JpaMetamodel;Lorg/springframework/data/mapping/model/Property;Lorg/springframework/data/mapping/PersistentEntity;Lorg/springframework/data/mapping/model/SimpleTypeHolder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
        start local 1 // org.springframework.data.jpa.util.JpaMetamodel metamodel
        start local 2 // org.springframework.data.mapping.model.Property property
        start local 3 // org.springframework.data.mapping.PersistentEntity owner
        start local 4 // org.springframework.data.mapping.model.SimpleTypeHolder simpleTypeHolder
         0: .line 100
            aload 0 /* this */
            aload 2 /* property */
            aload 3 /* owner */
            aload 4 /* simpleTypeHolder */
            invokespecial org.springframework.data.mapping.model.AnnotationBasedPersistentProperty.<init>:(Lorg/springframework/data/mapping/model/Property;Lorg/springframework/data/mapping/PersistentEntity;Lorg/springframework/data/mapping/model/SimpleTypeHolder;)V
         1: .line 102
            aload 1 /* metamodel */
            ldc "Metamodel must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 104
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic get(Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;)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/jpa/mapping/JpaPersistentPropertyImpl.lambda$0()Ljava/lang/Boolean; (7)
                  ()Ljava/lang/Boolean;
            invokestatic org.springframework.data.util.Lazy.of:(Ljava/util/function/Supplier;)Lorg/springframework/data/util/Lazy;
            putfield org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.isAssociation:Lorg/springframework/data/util/Lazy;
         3: .line 105
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.detectPropertyAccess:()Ljava/lang/Boolean;
            putfield org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.usePropertyAccess:Ljava/lang/Boolean;
         4: .line 106
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.detectAssociationTargetType:()Lorg/springframework/data/util/TypeInformation;
            putfield org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.associationTargetType:Lorg/springframework/data/util/TypeInformation;
         5: .line 107
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.detectUpdatability:()Z
            putfield org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.updateable:Z
         6: .line 109
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* metamodel */
            invokedynamic get(Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;Lorg/springframework/data/jpa/util/JpaMetamodel;)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/jpa/mapping/JpaPersistentPropertyImpl.lambda$2(Lorg/springframework/data/jpa/util/JpaMetamodel;)Ljava/lang/Boolean; (7)
                  ()Ljava/lang/Boolean;
            invokestatic org.springframework.data.util.Lazy.of:(Ljava/util/function/Supplier;)Lorg/springframework/data/util/Lazy;
            putfield org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.isIdProperty:Lorg/springframework/data/util/Lazy;
         7: .line 111
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* metamodel */
            invokedynamic get(Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;Lorg/springframework/data/jpa/util/JpaMetamodel;)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/jpa/mapping/JpaPersistentPropertyImpl.lambda$4(Lorg/springframework/data/jpa/util/JpaMetamodel;)Ljava/lang/Boolean; (7)
                  ()Ljava/lang/Boolean;
            invokestatic org.springframework.data.util.Lazy.of:(Ljava/util/function/Supplier;)Lorg/springframework/data/util/Lazy;
            putfield org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.isEntity:Lorg/springframework/data/util/Lazy;
         8: .line 112
            return
        end local 4 // org.springframework.data.mapping.model.SimpleTypeHolder simpleTypeHolder
        end local 3 // org.springframework.data.mapping.PersistentEntity owner
        end local 2 // org.springframework.data.mapping.model.Property property
        end local 1 // org.springframework.data.jpa.util.JpaMetamodel metamodel
        end local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;
            0    9     1         metamodel  Lorg/springframework/data/jpa/util/JpaMetamodel;
            0    9     2          property  Lorg/springframework/data/mapping/model/Property;
            0    9     3             owner  Lorg/springframework/data/mapping/PersistentEntity<*Lorg/springframework/data/jpa/mapping/JpaPersistentProperty;>;
            0    9     4  simpleTypeHolder  Lorg/springframework/data/mapping/model/SimpleTypeHolder;
    Signature: (Lorg/springframework/data/jpa/util/JpaMetamodel;Lorg/springframework/data/mapping/model/Property;Lorg/springframework/data/mapping/PersistentEntity<*Lorg/springframework/data/jpa/mapping/JpaPersistentProperty;>;Lorg/springframework/data/mapping/model/SimpleTypeHolder;)V
    MethodParameters:
                  Name  Flags
      metamodel         
      property          
      owner             
      simpleTypeHolder  

  public java.lang.Class<?> getActualType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
         0: .line 120
            aload 0 /* this */
            getfield org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.associationTargetType:Lorg/springframework/data/util/TypeInformation;
            ifnull 1
            aload 0 /* this */
            getfield org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.associationTargetType:Lorg/springframework/data/util/TypeInformation;
            invokeinterface org.springframework.data.util.TypeInformation.getType:()Ljava/lang/Class;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokespecial org.springframework.data.mapping.model.AnnotationBasedPersistentProperty.getActualType:()Ljava/lang/Class;
      StackMap locals:
      StackMap stack: java.lang.Class
         2: areturn
        end local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;
    Signature: ()Ljava/lang/Class<*>;

  public java.lang.Iterable<? extends org.springframework.data.util.TypeInformation<?>> getPersistentEntityTypes();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
         0: .line 130
            aload 0 /* this */
            getfield org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.associationTargetType:Lorg/springframework/data/util/TypeInformation;
            ifnull 2
         1: .line 131
            aload 0 /* this */
            getfield org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.associationTargetType:Lorg/springframework/data/util/TypeInformation;
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            goto 3
         2: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial org.springframework.data.mapping.model.AnnotationBasedPersistentProperty.getPersistentEntityTypes:()Ljava/lang/Iterable;
         3: .line 130
      StackMap locals:
      StackMap stack: java.lang.Iterable
            areturn
        end local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;
    Signature: ()Ljava/lang/Iterable<+Lorg/springframework/data/util/TypeInformation<*>;>;

  public boolean isIdProperty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
         0: .line 141
            aload 0 /* this */
            getfield org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.isIdProperty: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.jpa.mapping.JpaPersistentPropertyImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;

  public boolean isEntity();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
         0: .line 150
            aload 0 /* this */
            getfield org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.isEntity: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.jpa.mapping.JpaPersistentPropertyImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;

  public boolean isAssociation();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
         0: .line 159
            aload 0 /* this */
            getfield org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.isAssociation: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.jpa.mapping.JpaPersistentPropertyImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;

  public boolean isTransient();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
         0: .line 168
            aload 0 /* this */
            ldc Ljavax/persistence/Transient;
            invokevirtual org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifne 1
            aload 0 /* this */
            invokespecial org.springframework.data.mapping.model.AnnotationBasedPersistentProperty.isTransient:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;

  protected org.springframework.data.mapping.Association<org.springframework.data.jpa.mapping.JpaPersistentProperty> createAssociation();
    descriptor: ()Lorg/springframework/data/mapping/Association;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
         0: .line 177
            new org.springframework.data.mapping.Association
            dup
            aload 0 /* this */
            aconst_null
            invokespecial org.springframework.data.mapping.Association.<init>:(Lorg/springframework/data/mapping/PersistentProperty;Lorg/springframework/data/mapping/PersistentProperty;)V
            areturn
        end local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;
    Signature: ()Lorg/springframework/data/mapping/Association<Lorg/springframework/data/jpa/mapping/JpaPersistentProperty;>;

  public boolean usePropertyAccess();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
         0: .line 186
            aload 0 /* this */
            getfield org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.usePropertyAccess:Ljava/lang/Boolean;
            ifnull 1
            aload 0 /* this */
            getfield org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.usePropertyAccess:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokespecial org.springframework.data.mapping.model.AnnotationBasedPersistentProperty.usePropertyAccess:()Z
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;

  public boolean isVersionProperty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
         0: .line 195
            aload 0 /* this */
            ldc Ljavax/persistence/Version;
            invokevirtual org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.isAnnotationPresent:(Ljava/lang/Class;)Z
            ireturn
        end local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;

  public boolean isWritable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
         0: .line 204
            aload 0 /* this */
            getfield org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.updateable:Z
            ifeq 1
            aload 0 /* this */
            invokespecial org.springframework.data.mapping.model.AnnotationBasedPersistentProperty.isWritable:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;

  public boolean isEmbeddable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
         0: .line 213
            aload 0 /* this */
            ldc Ljavax/persistence/Embedded;
            invokevirtual org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifne 1
            aload 0 /* this */
            ldc Ljavax/persistence/Embeddable;
            invokevirtual org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.hasActualTypeAnnotation:(Ljava/lang/Class;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;

  private java.lang.Boolean detectPropertyAccess();
    descriptor: ()Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
         0: .line 227
            aload 0 /* this */
         1: .line 228
            ldc Lorg/springframework/data/annotation/AccessType;
         2: .line 227
            invokevirtual org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.findAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.springframework.data.annotation.AccessType
            astore 1 /* accessType */
        start local 1 // org.springframework.data.annotation.AccessType accessType
         3: .line 230
            aload 1 /* accessType */
            ifnull 5
         4: .line 231
            getstatic org.springframework.data.annotation.AccessType$Type.PROPERTY:Lorg/springframework/data/annotation/AccessType$Type;
            aload 1 /* accessType */
            invokeinterface org.springframework.data.annotation.AccessType.value:()Lorg/springframework/data/annotation/AccessType$Type;
            invokevirtual org.springframework.data.annotation.AccessType$Type.equals:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
         5: .line 234
      StackMap locals: org.springframework.data.annotation.AccessType
      StackMap stack:
            aload 0 /* this */
            ldc Ljavax/persistence/Access;
            invokevirtual org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.findAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.Access
            astore 2 /* access */
        start local 2 // javax.persistence.Access access
         6: .line 236
            aload 2 /* access */
            ifnull 8
         7: .line 237
            getstatic javax.persistence.AccessType.PROPERTY:Ljavax/persistence/AccessType;
            aload 2 /* access */
            invokeinterface javax.persistence.Access.value:()Ljavax/persistence/AccessType;
            invokevirtual javax.persistence.AccessType.equals:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
         8: .line 240
      StackMap locals: javax.persistence.Access
      StackMap stack:
            aload 0 /* this */
            ldc Lorg/springframework/data/annotation/AccessType;
            invokevirtual org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.findPropertyOrOwnerAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.springframework.data.annotation.AccessType
            astore 1 /* accessType */
         9: .line 242
            aload 1 /* accessType */
            ifnull 11
        10: .line 243
            getstatic org.springframework.data.annotation.AccessType$Type.PROPERTY:Lorg/springframework/data/annotation/AccessType$Type;
            aload 1 /* accessType */
            invokeinterface org.springframework.data.annotation.AccessType.value:()Lorg/springframework/data/annotation/AccessType$Type;
            invokevirtual org.springframework.data.annotation.AccessType$Type.equals:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        11: .line 246
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc Ljavax/persistence/Access;
            invokevirtual org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.findPropertyOrOwnerAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.Access
            astore 2 /* access */
        12: .line 248
            aload 2 /* access */
            ifnull 14
        13: .line 249
            getstatic javax.persistence.AccessType.PROPERTY:Ljavax/persistence/AccessType;
            aload 2 /* access */
            invokeinterface javax.persistence.Access.value:()Ljavax/persistence/AccessType;
            invokevirtual javax.persistence.AccessType.equals:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        14: .line 252
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // javax.persistence.Access access
        end local 1 // org.springframework.data.annotation.AccessType accessType
        end local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;
            3   15     1  accessType  Lorg/springframework/data/annotation/AccessType;
            6   15     2      access  Ljavax/persistence/Access;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private org.springframework.data.util.TypeInformation<?> detectAssociationTargetType();
    descriptor: ()Lorg/springframework/data/util/TypeInformation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
         0: .line 263
            aload 0 /* this */
            invokevirtual org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.isAssociation:()Z
            ifne 2
         1: .line 264
            aconst_null
            areturn
         2: .line 267
      StackMap locals:
      StackMap stack:
            getstatic org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.ASSOCIATION_ANNOTATIONS:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 11
      StackMap locals: org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl top java.util.Iterator
      StackMap stack:
         3: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 1 /* annotationType */
        start local 1 // java.lang.Class annotationType
         4: .line 269
            aload 0 /* this */
            aload 1 /* annotationType */
            invokevirtual org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.findAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            astore 3 /* annotation */
        start local 3 // java.lang.annotation.Annotation annotation
         5: .line 271
            aload 3 /* annotation */
            ifnonnull 7
         6: .line 272
            goto 11
         7: .line 275
      StackMap locals: org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl java.lang.Class java.util.Iterator java.lang.annotation.Annotation
      StackMap stack:
            aload 3 /* annotation */
            ldc "targetEntity"
            invokestatic org.springframework.core.annotation.AnnotationUtils.getValue:(Ljava/lang/annotation/Annotation;Ljava/lang/String;)Ljava/lang/Object;
            astore 4 /* entityValue */
        start local 4 // java.lang.Object entityValue
         8: .line 277
            aload 4 /* entityValue */
            ifnull 11
            aload 4 /* entityValue */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 278
            goto 11
        10: .line 281
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4 /* entityValue */
            checkcast java.lang.Class
            invokestatic org.springframework.data.util.ClassTypeInformation.from:(Ljava/lang/Class;)Lorg/springframework/data/util/ClassTypeInformation;
            areturn
        end local 4 // java.lang.Object entityValue
        end local 3 // java.lang.annotation.Annotation annotation
        end local 1 // java.lang.Class annotationType
        11: .line 267
      StackMap locals: org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        12: .line 284
            aconst_null
            areturn
        end local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;
            4   11     1  annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            5   11     3      annotation  Ljava/lang/annotation/Annotation;
            8   11     4     entityValue  Ljava/lang/Object;
    Signature: ()Lorg/springframework/data/util/TypeInformation<*>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private boolean detectUpdatability();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
         0: .line 295
            getstatic org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.UPDATEABLE_ANNOTATIONS:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 6
      StackMap locals: org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 1 /* annotationType */
        start local 1 // java.lang.Class annotationType
         2: .line 297
            aload 0 /* this */
            aload 1 /* annotationType */
            invokevirtual org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.findAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            astore 3 /* annotation */
        start local 3 // java.lang.annotation.Annotation annotation
         3: .line 299
            aload 3 /* annotation */
            ifnonnull 5
         4: .line 300
            goto 6
         5: .line 303
      StackMap locals: org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl java.lang.Class java.util.Iterator java.lang.annotation.Annotation
      StackMap stack:
            aload 3 /* annotation */
            ldc "updatable"
            invokestatic org.springframework.core.annotation.AnnotationUtils.getValue:(Ljava/lang/annotation/Annotation;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 3 // java.lang.annotation.Annotation annotation
        end local 1 // java.lang.Class annotationType
         6: .line 295
      StackMap locals: org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 306
            iconst_1
            ireturn
        end local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;
            2    6     1  annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            3    6     3      annotation  Ljava/lang/annotation/Annotation;

  private java.lang.Boolean lambda$0();
    descriptor: ()Ljava/lang/Boolean;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
         0: .line 104
            getstatic org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.ASSOCIATION_ANNOTATIONS:Ljava/util/Collection;
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic test(Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;)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/AnnotationBasedPersistentProperty.isAnnotationPresent(Ljava/lang/Class;)Z (5)
                  (Ljava/lang/Class;)Z
            invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;

  private java.lang.Boolean lambda$2(org.springframework.data.jpa.util.JpaMetamodel);
    descriptor: (Lorg/springframework/data/jpa/util/JpaMetamodel;)Ljava/lang/Boolean;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
         0: .line 109
            getstatic org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.ID_ANNOTATIONS:Ljava/util/Collection;
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic test(Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;)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/jpa/mapping/JpaPersistentPropertyImpl.lambda$3(Ljava/lang/Class;)Z (7)
                  (Ljava/lang/Class;)Z
            invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
            ifne 2
         1: .line 110
            aload 1
            aload 0 /* this */
            invokevirtual org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.getOwner:()Lorg/springframework/data/mapping/PersistentEntity;
            invokeinterface org.springframework.data.mapping.PersistentEntity.getType:()Ljava/lang/Class;
            aload 0 /* this */
            invokevirtual org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.getName:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.getType:()Ljava/lang/Class;
            invokevirtual org.springframework.data.jpa.util.JpaMetamodel.isSingleIdAttribute:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Z
            ifne 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;

  private java.lang.Boolean lambda$4(org.springframework.data.jpa.util.JpaMetamodel);
    descriptor: (Lorg/springframework/data/jpa/util/JpaMetamodel;)Ljava/lang/Boolean;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
         0: .line 111
            aload 1
            aload 0 /* this */
            invokevirtual org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.getActualType:()Ljava/lang/Class;
            invokevirtual org.springframework.data.jpa.util.JpaMetamodel.isJpaManaged:(Ljava/lang/Class;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;

  private boolean lambda$3(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
        start local 1 // java.lang.Class it
         0: .line 109
            aload 0 /* this */
            aload 1 /* it */
            invokevirtual org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl.isAnnotationPresent:(Ljava/lang/Class;)Z
            ireturn
        end local 1 // java.lang.Class it
        end local 0 // org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/jpa/mapping/JpaPersistentPropertyImpl;
            0    1     1    it  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
}
Signature: Lorg/springframework/data/mapping/model/AnnotationBasedPersistentProperty<Lorg/springframework/data/jpa/mapping/JpaPersistentProperty;>;Lorg/springframework/data/jpa/mapping/JpaPersistentProperty;
SourceFile: "JpaPersistentPropertyImpl.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Type = org.springframework.data.annotation.AccessType$Type of org.springframework.data.annotation.AccessType