public class org.jooq.Converters<T, U> extends org.jooq.impl.AbstractConverter<T, U>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jooq.Converters
  super_class: org.jooq.impl.AbstractConverter
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -4307758248063822630

  final org.jooq.Converter[] chain;
    descriptor: [Lorg/jooq/Converter;
    flags: (0x0010) ACC_FINAL

  public static <T> org.jooq.Converter<T, T> identity(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Lorg/jooq/Converter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 70
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNotNull cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)Lorg/jooq/Converter<TT;TT;>;
    RuntimeInvisibleAnnotations: 
      NotNull()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        NotNull()
    MethodParameters:
      Name  Flags
      type  final

  public static <T, U> org.jooq.Converter<T, U> of();
    descriptor: ()Lorg/jooq/Converter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 82
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNotNull cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <T:Ljava/lang/Object;U:Ljava/lang/Object;>()Lorg/jooq/Converter<TT;TU;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeInvisibleAnnotations: 
      NotNull()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        NotNull()

  public static <T, U> org.jooq.Converter<T, U> of(org.jooq.Converter<T, U>);
    descriptor: (Lorg/jooq/Converter;)Lorg/jooq/Converter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 94
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNotNull cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <T:Ljava/lang/Object;U:Ljava/lang/Object;>(Lorg/jooq/Converter<TT;TU;>;)Lorg/jooq/Converter<TT;TU;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeInvisibleAnnotations: 
      NotNull()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        NotNull()
    MethodParameters:
           Name  Flags
      converter  

  public static <T, X1, U> org.jooq.Converter<T, U> of(org.jooq.Converter<T, ? extends X1>, org.jooq.Converter<? super X1, U>);
    descriptor: (Lorg/jooq/Converter;Lorg/jooq/Converter;)Lorg/jooq/Converter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 102
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNotNull cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <T:Ljava/lang/Object;X1:Ljava/lang/Object;U:Ljava/lang/Object;>(Lorg/jooq/Converter<TT;+TX1;>;Lorg/jooq/Converter<-TX1;TU;>;)Lorg/jooq/Converter<TT;TU;>;
    RuntimeInvisibleAnnotations: 
      NotNull()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        NotNull()
    MethodParameters:
      Name  Flags
      c1    
      c2    

  public static <T, X1, X2, U> org.jooq.Converter<T, U> of(org.jooq.Converter<T, ? extends X1>, org.jooq.Converter<? super X1, ? extends X2>, org.jooq.Converter<? super X2, U>);
    descriptor: (Lorg/jooq/Converter;Lorg/jooq/Converter;Lorg/jooq/Converter;)Lorg/jooq/Converter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 110
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNotNull cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <T:Ljava/lang/Object;X1:Ljava/lang/Object;X2:Ljava/lang/Object;U:Ljava/lang/Object;>(Lorg/jooq/Converter<TT;+TX1;>;Lorg/jooq/Converter<-TX1;+TX2;>;Lorg/jooq/Converter<-TX2;TU;>;)Lorg/jooq/Converter<TT;TU;>;
    RuntimeInvisibleAnnotations: 
      NotNull()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        NotNull()
    MethodParameters:
      Name  Flags
      c1    
      c2    
      c3    

  public static <T, X1, X2, X3, U> org.jooq.Converter<T, U> of(org.jooq.Converter<T, ? extends X1>, org.jooq.Converter<? super X1, ? extends X2>, org.jooq.Converter<? super X2, ? extends X3>, org.jooq.Converter<? super X3, U>);
    descriptor: (Lorg/jooq/Converter;Lorg/jooq/Converter;Lorg/jooq/Converter;Lorg/jooq/Converter;)Lorg/jooq/Converter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=4
         0: .line 118
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNotNull cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <T:Ljava/lang/Object;X1:Ljava/lang/Object;X2:Ljava/lang/Object;X3:Ljava/lang/Object;U:Ljava/lang/Object;>(Lorg/jooq/Converter<TT;+TX1;>;Lorg/jooq/Converter<-TX1;+TX2;>;Lorg/jooq/Converter<-TX2;+TX3;>;Lorg/jooq/Converter<-TX3;TU;>;)Lorg/jooq/Converter<TT;TU;>;
    RuntimeInvisibleAnnotations: 
      NotNull()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        NotNull()
    MethodParameters:
      Name  Flags
      c1    
      c2    
      c3    
      c4    

  public static <T, U> org.jooq.Converter<U, T> inverse(org.jooq.Converter<T, U>);
    descriptor: (Lorg/jooq/Converter;)Lorg/jooq/Converter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.jooq.Converter converter
         0: .line 129
            aload 0 /* converter */
            instanceof org.jooq.impl.IdentityConverter
            ifeq 2
         1: .line 130
            aload 0 /* converter */
            areturn
         2: .line 132
      StackMap locals:
      StackMap stack:
            new org.jooq.Converters$1
            dup
            aload 0 /* converter */
            invokeinterface org.jooq.Converter.toType:()Ljava/lang/Class;
            aload 0 /* converter */
            invokeinterface org.jooq.Converter.fromType:()Ljava/lang/Class;
            aload 0 /* converter */
            invokespecial org.jooq.Converters$1.<init>:(Ljava/lang/Class;Ljava/lang/Class;Lorg/jooq/Converter;)V
            areturn
        end local 0 // org.jooq.Converter converter
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  converter  Lorg/jooq/Converter<TT;TU;>;
    Signature: <T:Ljava/lang/Object;U:Ljava/lang/Object;>(Lorg/jooq/Converter<TT;TU;>;)Lorg/jooq/Converter<TU;TT;>;
    MethodParameters:
           Name  Flags
      converter  final

  public static <T, U> org.jooq.Converter<T[], U[]> forArrays(org.jooq.Converter<T, U>);
    descriptor: (Lorg/jooq/Converter;)Lorg/jooq/Converter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.jooq.Converter converter
         0: .line 157
            new org.jooq.Converters$2
            dup
         1: .line 158
            aload 0 /* converter */
            invokeinterface org.jooq.Converter.fromType:()Ljava/lang/Class;
            iconst_0
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
         2: .line 159
            aload 0 /* converter */
            invokeinterface org.jooq.Converter.toType:()Ljava/lang/Class;
            iconst_0
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
         3: .line 157
            aload 0 /* converter */
            invokespecial org.jooq.Converters$2.<init>:(Ljava/lang/Class;Ljava/lang/Class;Lorg/jooq/Converter;)V
            areturn
        end local 0 // org.jooq.Converter converter
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0  converter  Lorg/jooq/Converter<TT;TU;>;
    Signature: <T:Ljava/lang/Object;U:Ljava/lang/Object;>(Lorg/jooq/Converter<TT;TU;>;)Lorg/jooq/Converter<[TT;[TU;>;
    MethodParameters:
           Name  Flags
      converter  final

  void <init>(org.jooq.Converter[]);
    descriptor: ([Lorg/jooq/Converter;)V
    flags: (0x0080) ACC_VARARGS
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jooq.Converters this
        start local 1 // org.jooq.Converter[] chain
         0: .line 181
            aload 0 /* this */
            aload 1 /* chain */
            iconst_0
            aaload
            invokeinterface org.jooq.Converter.fromType:()Ljava/lang/Class;
            aload 1 /* chain */
            aload 1 /* chain */
            arraylength
            iconst_1
            isub
            aaload
            invokeinterface org.jooq.Converter.toType:()Ljava/lang/Class;
            invokespecial org.jooq.impl.AbstractConverter.<init>:(Ljava/lang/Class;Ljava/lang/Class;)V
         1: .line 183
            aload 0 /* this */
            aload 1 /* chain */
            putfield org.jooq.Converters.chain:[Lorg/jooq/Converter;
         2: .line 184
            return
        end local 1 // org.jooq.Converter[] chain
        end local 0 // org.jooq.Converters this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jooq/Converters<TT;TU;>;
            0    3     1  chain  [Lorg/jooq/Converter;
    MethodParameters:
       Name  Flags
      chain  

  public final U from();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jooq.Converters this
        start local 1 // java.lang.Object t
         0: .line 188
            aload 1 /* t */
            astore 2 /* result */
        start local 2 // java.lang.Object result
         1: .line 190
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 191
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.Converters.chain:[Lorg/jooq/Converter;
            iload 3 /* i */
            aaload
            aload 2 /* result */
            invokeinterface org.jooq.Converter.from:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* result */
         4: .line 190
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 0 /* this */
            getfield org.jooq.Converters.chain:[Lorg/jooq/Converter;
            arraylength
            if_icmplt 3
        end local 3 // int i
         6: .line 193
            aload 2 /* result */
            areturn
        end local 2 // java.lang.Object result
        end local 1 // java.lang.Object t
        end local 0 // org.jooq.Converters this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/jooq/Converters<TT;TU;>;
            0    7     1       t  TT;
            1    7     2  result  Ljava/lang/Object;
            2    6     3       i  I
    Signature: (TT;)TU;
    MethodParameters:
      Name  Flags
      t     

  public final T to();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jooq.Converters this
        start local 1 // java.lang.Object u
         0: .line 198
            aload 1 /* u */
            astore 2 /* result */
        start local 2 // java.lang.Object result
         1: .line 200
            aload 0 /* this */
            getfield org.jooq.Converters.chain:[Lorg/jooq/Converter;
            arraylength
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 201
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.Converters.chain:[Lorg/jooq/Converter;
            iload 3 /* i */
            aaload
            aload 2 /* result */
            invokeinterface org.jooq.Converter.to:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* result */
         4: .line 200
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            ifge 3
        end local 3 // int i
         6: .line 203
            aload 2 /* result */
            areturn
        end local 2 // java.lang.Object result
        end local 1 // java.lang.Object u
        end local 0 // org.jooq.Converters this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/jooq/Converters<TT;TU;>;
            0    7     1       u  TU;
            1    7     2  result  Ljava/lang/Object;
            2    6     3       i  I
    Signature: (TU;)TT;
    MethodParameters:
      Name  Flags
      u     

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // org.jooq.Converters this
         0: .line 208
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 209
            ldc " -> "
            astore 2 /* separator */
        start local 2 // java.lang.String separator
         2: .line 211
            aload 1 /* sb */
            ldc "Converters [ "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 212
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual org.jooq.Converters.fromType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 214
            aload 0 /* this */
            getfield org.jooq.Converters.chain:[Lorg/jooq/Converter;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 9
      StackMap locals: org.jooq.Converters java.lang.StringBuilder java.lang.String top int int org.jooq.Converter[]
      StackMap stack:
         5: aload 6
            iload 4
            aaload
            astore 3 /* converter */
        start local 3 // org.jooq.Converter converter
         6: .line 215
            aload 1 /* sb */
            aload 2 /* separator */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 216
            aload 1 /* sb */
            aload 3 /* converter */
            invokeinterface org.jooq.Converter.toType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 3 // org.jooq.Converter converter
         8: .line 214
            iinc 4 1
      StackMap locals:
      StackMap stack:
         9: iload 4
            iload 5
            if_icmplt 5
        10: .line 219
            aload 1 /* sb */
            ldc " ]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 220
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String separator
        end local 1 // java.lang.StringBuilder sb
        end local 0 // org.jooq.Converters this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lorg/jooq/Converters<TT;TU;>;
            1   12     1         sb  Ljava/lang/StringBuilder;
            2   12     2  separator  Ljava/lang/String;
            6    8     3  converter  Lorg/jooq/Converter<**>;
}
Signature: <T:Ljava/lang/Object;U:Ljava/lang/Object;>Lorg/jooq/impl/AbstractConverter<TT;TU;>;
SourceFile: "Converters.java"
NestMembers:
  org.jooq.Converters$1  org.jooq.Converters$2
InnerClasses:
  org.jooq.Converters$1
  org.jooq.Converters$2