class org.springframework.data.convert.DefaultConverterBuilder<S, T> implements org.springframework.data.convert.ConverterBuilder$ConverterAware, org.springframework.data.convert.ConverterBuilder$ReadingConverterBuilder<T, S>, org.springframework.data.convert.ConverterBuilder$WritingConverterBuilder<S, T>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.data.convert.DefaultConverterBuilder
  super_class: java.lang.Object
{
  private final org.springframework.core.convert.converter.GenericConverter$ConvertiblePair convertiblePair;
    descriptor: Lorg/springframework/core/convert/converter/GenericConverter$ConvertiblePair;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeInvisibleAnnotations: 
      lombok.NonNull()
    RuntimeInvisibleTypeAnnotations: 
      FIELD
        lombok.NonNull()

  private final java.util.Optional<java.util.function.Function<? super S, ? extends T>> writing;
    descriptor: Ljava/util/Optional;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Optional<Ljava/util/function/Function<-TS;+TT;>;>;
    RuntimeInvisibleAnnotations: 
      lombok.NonNull()
    RuntimeInvisibleTypeAnnotations: 
      FIELD
        lombok.NonNull()

  private final java.util.Optional<java.util.function.Function<? super T, ? extends S>> reading;
    descriptor: Ljava/util/Optional;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Optional<Ljava/util/function/Function<-TT;+TS;>;>;
    RuntimeInvisibleAnnotations: 
      lombok.NonNull()
    RuntimeInvisibleTypeAnnotations: 
      FIELD
        lombok.NonNull()

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.data.convert.DefaultConverterBuilder this
         0: .line 57
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe blank final field convertiblePair may not have been initialized\n\tThe blank final field writing may not have been initialized\n\tThe blank final field reading may not have been initialized\n\tThe method withReading(Optional.of(function)) is undefined for the type DefaultConverterBuilder<S,T>\n\tThe method withWriting(Optional.of(function)) is undefined for the type DefaultConverterBuilder<S,T>\n\tThe blank final field convertiblePair may not have been initialized\n\tThe blank final field function may not have been initialized\n\tThe constructor DefaultConverterBuilder.ConfigurableGenericConverter<S,T>(GenericConverter.ConvertiblePair, Function<capture#1-of ? super S,capture#2-of ? extends T>) is undefined\n\tThe constructor DefaultConverterBuilder.ConfigurableGenericConverter<S,T>(GenericConverter.ConvertiblePair, Function<capture#3-of ? super S,capture#4-of ? extends T>) is undefined\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.data.convert.DefaultConverterBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/convert/DefaultConverterBuilder<TS;TT;>;

  public org.springframework.data.convert.ConverterBuilder$ConverterAware andReading(java.util.function.Function<? super T, ? extends S>);
    descriptor: (Ljava/util/function/Function;)Lorg/springframework/data/convert/ConverterBuilder$ConverterAware;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.data.convert.DefaultConverterBuilder this
         0: .line 67
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tThe method withReading(Optional.of(function)) is undefined for the type DefaultConverterBuilder<S,T>\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.data.convert.DefaultConverterBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/convert/DefaultConverterBuilder<TS;TT;>;
    Signature: (Ljava/util/function/Function<-TT;+TS;>;)Lorg/springframework/data/convert/ConverterBuilder$ConverterAware;
    MethodParameters:
          Name  Flags
      function  

  public org.springframework.data.convert.ConverterBuilder$ConverterAware andWriting(java.util.function.Function<? super S, ? extends T>);
    descriptor: (Ljava/util/function/Function;)Lorg/springframework/data/convert/ConverterBuilder$ConverterAware;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.data.convert.DefaultConverterBuilder this
         0: .line 76
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tThe method withWriting(Optional.of(function)) is undefined for the type DefaultConverterBuilder<S,T>\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.data.convert.DefaultConverterBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/convert/DefaultConverterBuilder<TS;TT;>;
    Signature: (Ljava/util/function/Function<-TS;+TT;>;)Lorg/springframework/data/convert/ConverterBuilder$ConverterAware;
    MethodParameters:
          Name  Flags
      function  

  public org.springframework.core.convert.converter.GenericConverter getReadingConverter();
    descriptor: ()Lorg/springframework/core/convert/converter/GenericConverter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.data.convert.DefaultConverterBuilder this
         0: .line 85
            aload 0 /* this */
            invokevirtual org.springframework.data.convert.DefaultConverterBuilder.getOptionalReadingConverter:()Ljava/util/Optional;
         1: .line 86
            invokedynamic get()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/convert/DefaultConverterBuilder.lambda$0()Ljava/lang/IllegalStateException; (6)
                  ()Ljava/lang/IllegalStateException;
            invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast org.springframework.core.convert.converter.GenericConverter
         2: .line 85
            areturn
        end local 0 // org.springframework.data.convert.DefaultConverterBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/data/convert/DefaultConverterBuilder<TS;TT;>;

  public org.springframework.core.convert.converter.GenericConverter getWritingConverter();
    descriptor: ()Lorg/springframework/core/convert/converter/GenericConverter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.data.convert.DefaultConverterBuilder this
         0: .line 95
            aload 0 /* this */
            invokevirtual org.springframework.data.convert.DefaultConverterBuilder.getOptionalWritingConverter:()Ljava/util/Optional;
         1: .line 96
            invokedynamic get()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/convert/DefaultConverterBuilder.lambda$1()Ljava/lang/IllegalStateException; (6)
                  ()Ljava/lang/IllegalStateException;
            invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast org.springframework.core.convert.converter.GenericConverter
         2: .line 95
            areturn
        end local 0 // org.springframework.data.convert.DefaultConverterBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/data/convert/DefaultConverterBuilder<TS;TT;>;

  public java.util.Set<org.springframework.core.convert.converter.GenericConverter> getConverters();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.springframework.data.convert.DefaultConverterBuilder this
         0: .line 106
            iconst_2
            anewarray java.util.Optional
            dup
            iconst_0
         1: .line 107
            aload 0 /* this */
            invokevirtual org.springframework.data.convert.DefaultConverterBuilder.getOptionalReadingConverter:()Ljava/util/Optional;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual org.springframework.data.convert.DefaultConverterBuilder.getOptionalWritingConverter:()Ljava/util/Optional;
            aastore
            invokestatic org.springframework.data.util.Optionals.toStream:([Ljava/util/Optional;)Ljava/util/stream/Stream;
         2: .line 108
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
         3: .line 106
            areturn
        end local 0 // org.springframework.data.convert.DefaultConverterBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/data/convert/DefaultConverterBuilder<TS;TT;>;
    Signature: ()Ljava/util/Set<Lorg/springframework/core/convert/converter/GenericConverter;>;

  private java.util.Optional<org.springframework.core.convert.converter.GenericConverter> getOptionalReadingConverter();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.data.convert.DefaultConverterBuilder this
         0: .line 112
            aload 0 /* this */
            getfield org.springframework.data.convert.DefaultConverterBuilder.reading:Ljava/util/Optional;
            aload 0 /* this */
            invokedynamic apply(Lorg/springframework/data/convert/DefaultConverterBuilder;)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/convert/DefaultConverterBuilder.lambda$2(Ljava/util/function/Function;)Lorg/springframework/core/convert/converter/GenericConverter; (7)
                  (Ljava/util/function/Function;)Lorg/springframework/core/convert/converter/GenericConverter;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
            areturn
        end local 0 // org.springframework.data.convert.DefaultConverterBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/convert/DefaultConverterBuilder<TS;TT;>;
    Signature: ()Ljava/util/Optional<Lorg/springframework/core/convert/converter/GenericConverter;>;

  private java.util.Optional<org.springframework.core.convert.converter.GenericConverter> getOptionalWritingConverter();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.data.convert.DefaultConverterBuilder this
         0: .line 116
            aload 0 /* this */
            getfield org.springframework.data.convert.DefaultConverterBuilder.writing:Ljava/util/Optional;
            aload 0 /* this */
            invokedynamic apply(Lorg/springframework/data/convert/DefaultConverterBuilder;)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/convert/DefaultConverterBuilder.lambda$3(Ljava/util/function/Function;)Lorg/springframework/core/convert/converter/GenericConverter; (7)
                  (Ljava/util/function/Function;)Lorg/springframework/core/convert/converter/GenericConverter;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
            areturn
        end local 0 // org.springframework.data.convert.DefaultConverterBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/convert/DefaultConverterBuilder<TS;TT;>;
    Signature: ()Ljava/util/Optional<Lorg/springframework/core/convert/converter/GenericConverter;>;

  private org.springframework.core.convert.converter.GenericConverter$ConvertiblePair invertedPair();
    descriptor: ()Lorg/springframework/core/convert/converter/GenericConverter$ConvertiblePair;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.springframework.data.convert.DefaultConverterBuilder this
         0: .line 120
            new org.springframework.core.convert.converter.GenericConverter$ConvertiblePair
            dup
            aload 0 /* this */
            getfield org.springframework.data.convert.DefaultConverterBuilder.convertiblePair:Lorg/springframework/core/convert/converter/GenericConverter$ConvertiblePair;
            invokevirtual org.springframework.core.convert.converter.GenericConverter$ConvertiblePair.getTargetType:()Ljava/lang/Class;
            aload 0 /* this */
            getfield org.springframework.data.convert.DefaultConverterBuilder.convertiblePair:Lorg/springframework/core/convert/converter/GenericConverter$ConvertiblePair;
            invokevirtual org.springframework.core.convert.converter.GenericConverter$ConvertiblePair.getSourceType:()Ljava/lang/Class;
            invokespecial org.springframework.core.convert.converter.GenericConverter$ConvertiblePair.<init>:(Ljava/lang/Class;Ljava/lang/Class;)V
            areturn
        end local 0 // org.springframework.data.convert.DefaultConverterBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/convert/DefaultConverterBuilder<TS;TT;>;

  private static java.lang.IllegalStateException lambda$0();
    descriptor: ()Ljava/lang/IllegalStateException;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 86
            new java.lang.IllegalStateException
            dup
            ldc "No reading converter specified!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.IllegalStateException lambda$1();
    descriptor: ()Ljava/lang/IllegalStateException;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 96
            new java.lang.IllegalStateException
            dup
            ldc "No writing converter specified!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private org.springframework.core.convert.converter.GenericConverter lambda$2(java.util.function.Function);
    descriptor: (Ljava/util/function/Function;)Lorg/springframework/core/convert/converter/GenericConverter;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.data.convert.DefaultConverterBuilder this
        start local 1 // java.util.function.Function it
         0: .line 112
            new org.springframework.data.convert.DefaultConverterBuilder$ConfigurableGenericConverter$Reading
            dup
            aload 0 /* this */
            getfield org.springframework.data.convert.DefaultConverterBuilder.convertiblePair:Lorg/springframework/core/convert/converter/GenericConverter$ConvertiblePair;
            aload 1 /* it */
            invokespecial org.springframework.data.convert.DefaultConverterBuilder$ConfigurableGenericConverter$Reading.<init>:(Lorg/springframework/core/convert/converter/GenericConverter$ConvertiblePair;Ljava/util/function/Function;)V
            areturn
        end local 1 // java.util.function.Function it
        end local 0 // org.springframework.data.convert.DefaultConverterBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/convert/DefaultConverterBuilder<TS;TT;>;
            0    1     1    it  Ljava/util/function/Function<-TT;+TS;>;

  private org.springframework.core.convert.converter.GenericConverter lambda$3(java.util.function.Function);
    descriptor: (Ljava/util/function/Function;)Lorg/springframework/core/convert/converter/GenericConverter;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.data.convert.DefaultConverterBuilder this
        start local 1 // java.util.function.Function it
         0: .line 116
            new org.springframework.data.convert.DefaultConverterBuilder$ConfigurableGenericConverter$Writing
            dup
            aload 0 /* this */
            invokevirtual org.springframework.data.convert.DefaultConverterBuilder.invertedPair:()Lorg/springframework/core/convert/converter/GenericConverter$ConvertiblePair;
            aload 1 /* it */
            invokespecial org.springframework.data.convert.DefaultConverterBuilder$ConfigurableGenericConverter$Writing.<init>:(Lorg/springframework/core/convert/converter/GenericConverter$ConvertiblePair;Ljava/util/function/Function;)V
            areturn
        end local 1 // java.util.function.Function it
        end local 0 // org.springframework.data.convert.DefaultConverterBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/convert/DefaultConverterBuilder<TS;TT;>;
            0    1     1    it  Ljava/util/function/Function<-TS;+TT;>;
}
Signature: <S:Ljava/lang/Object;T:Ljava/lang/Object;>Ljava/lang/Object;Lorg/springframework/data/convert/ConverterBuilder$ConverterAware;Lorg/springframework/data/convert/ConverterBuilder$ReadingConverterBuilder<TT;TS;>;Lorg/springframework/data/convert/ConverterBuilder$WritingConverterBuilder<TS;TT;>;
SourceFile: "DefaultConverterBuilder.java"
NestMembers:
  org.springframework.data.convert.DefaultConverterBuilder$ConfigurableGenericConverter  org.springframework.data.convert.DefaultConverterBuilder$ConfigurableGenericConverter$Reading  org.springframework.data.convert.DefaultConverterBuilder$ConfigurableGenericConverter$Writing
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final ConvertiblePair = org.springframework.core.convert.converter.GenericConverter$ConvertiblePair of org.springframework.core.convert.converter.GenericConverter
  public abstract ConverterAware = org.springframework.data.convert.ConverterBuilder$ConverterAware of org.springframework.data.convert.ConverterBuilder
  public abstract ReadingConverterBuilder = org.springframework.data.convert.ConverterBuilder$ReadingConverterBuilder of org.springframework.data.convert.ConverterBuilder
  public abstract WritingConverterBuilder = org.springframework.data.convert.ConverterBuilder$WritingConverterBuilder of org.springframework.data.convert.ConverterBuilder
  private ConfigurableGenericConverter = org.springframework.data.convert.DefaultConverterBuilder$ConfigurableGenericConverter of org.springframework.data.convert.DefaultConverterBuilder
  private Reading = org.springframework.data.convert.DefaultConverterBuilder$ConfigurableGenericConverter$Reading of org.springframework.data.convert.DefaultConverterBuilder$ConfigurableGenericConverter
  private Writing = org.springframework.data.convert.DefaultConverterBuilder$ConfigurableGenericConverter$Writing of org.springframework.data.convert.DefaultConverterBuilder$ConfigurableGenericConverter