public interface org.springframework.data.projection.ProjectionFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: org.springframework.data.projection.ProjectionFactory
  super_class: java.lang.Object
{
  public abstract <T> T createProjection(java.lang.Class<T>, );
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/Object;)TT;
    MethodParameters:
                Name  Flags
      projectionType  
      source          

  public <T> T createNullableProjection(java.lang.Class<T>, );
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.data.projection.ProjectionFactory this
        start local 1 // java.lang.Class projectionType
        start local 2 // java.lang.Object source
         0: .line 48
            aload 2 /* source */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            aload 1 /* projectionType */
            aload 2 /* source */
            invokeinterface org.springframework.data.projection.ProjectionFactory.createProjection:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
         2: areturn
        end local 2 // java.lang.Object source
        end local 1 // java.lang.Class projectionType
        end local 0 // org.springframework.data.projection.ProjectionFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/springframework/data/projection/ProjectionFactory;
            0    3     1  projectionType  Ljava/lang/Class<TT;>;
            0    3     2          source  Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/Object;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      projectionType  
      source          

  public abstract <T> T createProjection(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
                Name  Flags
      projectionType  

  public abstract org.springframework.data.projection.ProjectionInformation getProjectionInformation(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lorg/springframework/data/projection/ProjectionInformation;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Class<*>;)Lorg/springframework/data/projection/ProjectionInformation;
    MethodParameters:
                Name  Flags
      projectionType  
}
SourceFile: "ProjectionFactory.java"