public class org.springframework.data.mapping.model.SpELExpressionParameterValueProvider<P extends org.springframework.data.mapping.PersistentProperty<P>> implements org.springframework.data.mapping.model.ParameterValueProvider<P>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.data.mapping.model.SpELExpressionParameterValueProvider
  super_class: java.lang.Object
{
  private final org.springframework.data.mapping.model.SpELExpressionEvaluator evaluator;
    descriptor: Lorg/springframework/data/mapping/model/SpELExpressionEvaluator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeInvisibleAnnotations: 
      lombok.NonNull()
    RuntimeInvisibleTypeAnnotations: 
      FIELD
        lombok.NonNull()

  private final org.springframework.core.convert.ConversionService conversionService;
    descriptor: Lorg/springframework/core/convert/ConversionService;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeInvisibleAnnotations: 
      lombok.NonNull()
    RuntimeInvisibleTypeAnnotations: 
      FIELD
        lombok.NonNull()

  private final org.springframework.data.mapping.model.ParameterValueProvider<P> delegate;
    descriptor: Lorg/springframework/data/mapping/model/ParameterValueProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/springframework/data/mapping/model/ParameterValueProvider<TP;>;
    RuntimeInvisibleAnnotations: 
      lombok.NonNull()
    RuntimeInvisibleTypeAnnotations: 
      FIELD
        lombok.NonNull()

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.data.mapping.model.SpELExpressionParameterValueProvider this
         0: .line 37
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe blank final field evaluator may not have been initialized\n\tThe blank final field conversionService may not have been initialized\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.SpELExpressionParameterValueProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/mapping/model/SpELExpressionParameterValueProvider<TP;>;

  public <T> T getParameterValue(org.springframework.data.mapping.PreferredConstructor$Parameter<T, P>);
    descriptor: (Lorg/springframework/data/mapping/PreferredConstructor$Parameter;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.springframework.data.mapping.model.SpELExpressionParameterValueProvider this
        start local 1 // org.springframework.data.mapping.PreferredConstructor$Parameter parameter
         0: .line 48
            aload 1 /* parameter */
            invokevirtual org.springframework.data.mapping.PreferredConstructor$Parameter.hasSpelExpression:()Z
            ifne 4
         1: .line 49
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.SpELExpressionParameterValueProvider.delegate:Lorg/springframework/data/mapping/model/ParameterValueProvider;
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield org.springframework.data.mapping.model.SpELExpressionParameterValueProvider.delegate:Lorg/springframework/data/mapping/model/ParameterValueProvider;
            aload 1 /* parameter */
            invokeinterface org.springframework.data.mapping.model.ParameterValueProvider.getParameterValue:(Lorg/springframework/data/mapping/PreferredConstructor$Parameter;)Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
         3: areturn
         4: .line 52
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.SpELExpressionParameterValueProvider.evaluator:Lorg/springframework/data/mapping/model/SpELExpressionEvaluator;
            aload 1 /* parameter */
            invokevirtual org.springframework.data.mapping.PreferredConstructor$Parameter.getSpelExpression:()Ljava/lang/String;
            invokeinterface org.springframework.data.mapping.model.SpELExpressionEvaluator.evaluate:(Ljava/lang/String;)Ljava/lang/Object;
            astore 2 /* object */
        start local 2 // java.lang.Object object
         5: .line 53
            aload 2 /* object */
            ifnonnull 6
            aconst_null
            goto 7
      StackMap locals: java.lang.Object
      StackMap stack:
         6: aload 0 /* this */
            aload 2 /* object */
            aload 1 /* parameter */
            invokevirtual org.springframework.data.mapping.model.SpELExpressionParameterValueProvider.potentiallyConvertSpelValue:(Ljava/lang/Object;Lorg/springframework/data/mapping/PreferredConstructor$Parameter;)Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
         7: areturn
        end local 2 // java.lang.Object object
        end local 1 // org.springframework.data.mapping.PreferredConstructor$Parameter parameter
        end local 0 // org.springframework.data.mapping.model.SpELExpressionParameterValueProvider this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/springframework/data/mapping/model/SpELExpressionParameterValueProvider<TP;>;
            0    8     1  parameter  Lorg/springframework/data/mapping/PreferredConstructor$Parameter<TT;TP;>;
            5    8     2     object  Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>(Lorg/springframework/data/mapping/PreferredConstructor$Parameter<TT;TP;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      parameter  

  protected <T> T potentiallyConvertSpelValue(, org.springframework.data.mapping.PreferredConstructor$Parameter<T, P>);
    descriptor: (Ljava/lang/Object;Lorg/springframework/data/mapping/PreferredConstructor$Parameter;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.data.mapping.model.SpELExpressionParameterValueProvider this
        start local 1 // java.lang.Object object
        start local 2 // org.springframework.data.mapping.PreferredConstructor$Parameter parameter
         0: .line 66
            aload 0 /* this */
            getfield org.springframework.data.mapping.model.SpELExpressionParameterValueProvider.conversionService:Lorg/springframework/core/convert/ConversionService;
            aload 1 /* object */
            aload 2 /* parameter */
            invokevirtual org.springframework.data.mapping.PreferredConstructor$Parameter.getRawType:()Ljava/lang/Class;
            invokeinterface org.springframework.core.convert.ConversionService.convert:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 2 // org.springframework.data.mapping.PreferredConstructor$Parameter parameter
        end local 1 // java.lang.Object object
        end local 0 // org.springframework.data.mapping.model.SpELExpressionParameterValueProvider this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/data/mapping/model/SpELExpressionParameterValueProvider<TP;>;
            0    1     1     object  Ljava/lang/Object;
            0    1     2  parameter  Lorg/springframework/data/mapping/PreferredConstructor$Parameter<TT;TP;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;Lorg/springframework/data/mapping/PreferredConstructor$Parameter<TT;TP;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      object     
      parameter  
}
Signature: <P::Lorg/springframework/data/mapping/PersistentProperty<TP;>;>Ljava/lang/Object;Lorg/springframework/data/mapping/model/ParameterValueProvider<TP;>;
SourceFile: "SpELExpressionParameterValueProvider.java"
InnerClasses:
  public Parameter = org.springframework.data.mapping.PreferredConstructor$Parameter of org.springframework.data.mapping.PreferredConstructor