final class org.jooq.impl.CaseWhenStepImpl<V, T> extends org.jooq.impl.AbstractField<T> implements org.jooq.CaseWhenStep<V, T>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.jooq.impl.CaseWhenStepImpl
  super_class: org.jooq.impl.AbstractField
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -3817194006479624228

  private final org.jooq.Field<V> value;
    descriptor: Lorg/jooq/Field;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/jooq/Field<TV;>;

  private final java.util.List<org.jooq.Field<V>> compareValues;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/jooq/Field<TV;>;>;

  private final java.util.List<org.jooq.Field<T>> results;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/jooq/Field<TT;>;>;

  private org.jooq.Field<T> else_;
    descriptor: Lorg/jooq/Field;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/jooq/Field<TT;>;

  private static volatile int[] $SWITCH_TABLE$org$jooq$SQLDialect;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  void <init>(org.jooq.Field<V>, org.jooq.Field<V>, org.jooq.Field<T>);
    descriptor: (Lorg/jooq/Field;Lorg/jooq/Field;Lorg/jooq/Field;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jooq.impl.CaseWhenStepImpl this
        start local 1 // org.jooq.Field value
        start local 2 // org.jooq.Field compareValue
        start local 3 // org.jooq.Field result
         0: .line 74
            aload 0 /* this */
            aload 1 /* value */
            aload 3 /* result */
            invokeinterface org.jooq.Field.getDataType:()Lorg/jooq/DataType;
            invokespecial org.jooq.impl.CaseWhenStepImpl.<init>:(Lorg/jooq/Field;Lorg/jooq/DataType;)V
         1: .line 76
            aload 0 /* this */
            aload 2 /* compareValue */
            aload 3 /* result */
            invokevirtual org.jooq.impl.CaseWhenStepImpl.when:(Lorg/jooq/Field;Lorg/jooq/Field;)Lorg/jooq/CaseWhenStep;
            pop
         2: .line 77
            return
        end local 3 // org.jooq.Field result
        end local 2 // org.jooq.Field compareValue
        end local 1 // org.jooq.Field value
        end local 0 // org.jooq.impl.CaseWhenStepImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/jooq/impl/CaseWhenStepImpl<TV;TT;>;
            0    3     1         value  Lorg/jooq/Field<TV;>;
            0    3     2  compareValue  Lorg/jooq/Field<TV;>;
            0    3     3        result  Lorg/jooq/Field<TT;>;
    Signature: (Lorg/jooq/Field<TV;>;Lorg/jooq/Field<TV;>;Lorg/jooq/Field<TT;>;)V
    MethodParameters:
              Name  Flags
      value         
      compareValue  
      result        

  void <init>(org.jooq.Field<V>, java.util.Map<? extends org.jooq.Field<V>, ? extends org.jooq.Field<T>>);
    descriptor: (Lorg/jooq/Field;Ljava/util/Map;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jooq.impl.CaseWhenStepImpl this
        start local 1 // org.jooq.Field value
        start local 2 // java.util.Map map
         0: .line 80
            aload 0 /* this */
            aload 1 /* value */
            aload 2 /* map */
            invokestatic org.jooq.impl.CaseWhenStepImpl.dataType:(Ljava/util/Map;)Lorg/jooq/DataType;
            invokespecial org.jooq.impl.CaseWhenStepImpl.<init>:(Lorg/jooq/Field;Lorg/jooq/DataType;)V
         1: .line 82
            aload 2 /* map */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.jooq.impl.CaseWhenStepImpl org.jooq.Field java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
         3: .line 83
            aload 0 /* this */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.jooq.Field
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.jooq.Field
            invokevirtual org.jooq.impl.CaseWhenStepImpl.when:(Lorg/jooq/Field;Lorg/jooq/Field;)Lorg/jooq/CaseWhenStep;
            pop
        end local 3 // java.util.Map$Entry entry
         4: .line 82
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 84
            return
        end local 2 // java.util.Map map
        end local 1 // org.jooq.Field value
        end local 0 // org.jooq.impl.CaseWhenStepImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/jooq/impl/CaseWhenStepImpl<TV;TT;>;
            0    6     1  value  Lorg/jooq/Field<TV;>;
            0    6     2    map  Ljava/util/Map<+Lorg/jooq/Field<TV;>;+Lorg/jooq/Field<TT;>;>;
            3    4     3  entry  Ljava/util/Map$Entry<+Lorg/jooq/Field<TV;>;+Lorg/jooq/Field<TT;>;>;
    Signature: (Lorg/jooq/Field<TV;>;Ljava/util/Map<+Lorg/jooq/Field<TV;>;+Lorg/jooq/Field<TT;>;>;)V
    MethodParameters:
       Name  Flags
      value  
      map    

  private void <init>(org.jooq.Field<V>, org.jooq.DataType<T>);
    descriptor: (Lorg/jooq/Field;Lorg/jooq/DataType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jooq.impl.CaseWhenStepImpl this
        start local 1 // org.jooq.Field value
        start local 2 // org.jooq.DataType type
         0: .line 87
            aload 0 /* this */
            getstatic org.jooq.impl.Names.N_CASE:Lorg/jooq/Name;
            aload 2 /* type */
            invokespecial org.jooq.impl.AbstractField.<init>:(Lorg/jooq/Name;Lorg/jooq/DataType;)V
         1: .line 89
            aload 0 /* this */
            aload 1 /* value */
            putfield org.jooq.impl.CaseWhenStepImpl.value:Lorg/jooq/Field;
         2: .line 90
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.jooq.impl.CaseWhenStepImpl.compareValues:Ljava/util/List;
         3: .line 91
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.jooq.impl.CaseWhenStepImpl.results:Ljava/util/List;
         4: .line 92
            return
        end local 2 // org.jooq.DataType type
        end local 1 // org.jooq.Field value
        end local 0 // org.jooq.impl.CaseWhenStepImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/jooq/impl/CaseWhenStepImpl<TV;TT;>;
            0    5     1  value  Lorg/jooq/Field<TV;>;
            0    5     2   type  Lorg/jooq/DataType<TT;>;
    Signature: (Lorg/jooq/Field<TV;>;Lorg/jooq/DataType<TT;>;)V
    MethodParameters:
       Name  Flags
      value  
      type   

  private static final <T> org.jooq.DataType<T> dataType(java.util.Map<? extends org.jooq.Field<?>, ? extends org.jooq.Field<T>>);
    descriptor: (Ljava/util/Map;)Lorg/jooq/DataType;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Map map
         0: .line 97
            aload 0 /* map */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 2
         1: .line 98
            getstatic org.jooq.impl.SQLDataType.OTHER:Lorg/jooq/DataType;
            areturn
         2: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* map */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.jooq.Field
            invokeinterface org.jooq.Field.getDataType:()Lorg/jooq/DataType;
            areturn
        end local 0 // java.util.Map map
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   map  Ljava/util/Map<+Lorg/jooq/Field<*>;+Lorg/jooq/Field<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Map<+Lorg/jooq/Field<*>;+Lorg/jooq/Field<TT;>;>;)Lorg/jooq/DataType<TT;>;
    MethodParameters:
      Name  Flags
      map   

  public final org.jooq.Field<T> otherwise(T);
    descriptor: (Ljava/lang/Object;)Lorg/jooq/Field;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jooq.impl.CaseWhenStepImpl this
        start local 1 // java.lang.Object result
         0: .line 105
            aload 0 /* this */
            aload 1 /* result */
            invokevirtual org.jooq.impl.CaseWhenStepImpl.else_:(Ljava/lang/Object;)Lorg/jooq/Field;
            areturn
        end local 1 // java.lang.Object result
        end local 0 // org.jooq.impl.CaseWhenStepImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/jooq/impl/CaseWhenStepImpl<TV;TT;>;
            0    1     1  result  TT;
    Signature: (TT;)Lorg/jooq/Field<TT;>;
    MethodParameters:
        Name  Flags
      result  

  public final org.jooq.Field<T> otherwise(org.jooq.Field<T>);
    descriptor: (Lorg/jooq/Field;)Lorg/jooq/Field;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jooq.impl.CaseWhenStepImpl this
        start local 1 // org.jooq.Field result
         0: .line 110
            aload 0 /* this */
            aload 1 /* result */
            invokevirtual org.jooq.impl.CaseWhenStepImpl.else_:(Lorg/jooq/Field;)Lorg/jooq/Field;
            areturn
        end local 1 // org.jooq.Field result
        end local 0 // org.jooq.impl.CaseWhenStepImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/jooq/impl/CaseWhenStepImpl<TV;TT;>;
            0    1     1  result  Lorg/jooq/Field<TT;>;
    Signature: (Lorg/jooq/Field<TT;>;)Lorg/jooq/Field<TT;>;
    MethodParameters:
        Name  Flags
      result  

  public final org.jooq.Field<T> else_(T);
    descriptor: (Ljava/lang/Object;)Lorg/jooq/Field;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jooq.impl.CaseWhenStepImpl this
        start local 1 // java.lang.Object result
         0: .line 115
            aload 0 /* this */
            aload 1 /* result */
            invokestatic org.jooq.impl.Tools.field:(Ljava/lang/Object;)Lorg/jooq/Field;
            invokevirtual org.jooq.impl.CaseWhenStepImpl.else_:(Lorg/jooq/Field;)Lorg/jooq/Field;
            areturn
        end local 1 // java.lang.Object result
        end local 0 // org.jooq.impl.CaseWhenStepImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/jooq/impl/CaseWhenStepImpl<TV;TT;>;
            0    1     1  result  TT;
    Signature: (TT;)Lorg/jooq/Field<TT;>;
    MethodParameters:
        Name  Flags
      result  

  public final org.jooq.Field<T> else_(org.jooq.Field<T>);
    descriptor: (Lorg/jooq/Field;)Lorg/jooq/Field;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jooq.impl.CaseWhenStepImpl this
        start local 1 // org.jooq.Field result
         0: .line 120
            aload 0 /* this */
            aload 1 /* result */
            putfield org.jooq.impl.CaseWhenStepImpl.else_:Lorg/jooq/Field;
         1: .line 122
            aload 0 /* this */
            areturn
        end local 1 // org.jooq.Field result
        end local 0 // org.jooq.impl.CaseWhenStepImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/jooq/impl/CaseWhenStepImpl<TV;TT;>;
            0    2     1  result  Lorg/jooq/Field<TT;>;
    Signature: (Lorg/jooq/Field<TT;>;)Lorg/jooq/Field<TT;>;
    MethodParameters:
        Name  Flags
      result  

  public final org.jooq.CaseWhenStep<V, T> when(V, T);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lorg/jooq/CaseWhenStep;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jooq.impl.CaseWhenStepImpl this
        start local 1 // java.lang.Object compareValue
        start local 2 // java.lang.Object result
         0: .line 127
            aload 0 /* this */
            aload 1 /* compareValue */
            aload 0 /* this */
            getfield org.jooq.impl.CaseWhenStepImpl.value:Lorg/jooq/Field;
            invokestatic org.jooq.impl.Tools.field:(Ljava/lang/Object;Lorg/jooq/Field;)Lorg/jooq/Field;
            aload 2 /* result */
            invokestatic org.jooq.impl.Tools.field:(Ljava/lang/Object;)Lorg/jooq/Field;
            invokevirtual org.jooq.impl.CaseWhenStepImpl.when:(Lorg/jooq/Field;Lorg/jooq/Field;)Lorg/jooq/CaseWhenStep;
            areturn
        end local 2 // java.lang.Object result
        end local 1 // java.lang.Object compareValue
        end local 0 // org.jooq.impl.CaseWhenStepImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jooq/impl/CaseWhenStepImpl<TV;TT;>;
            0    1     1  compareValue  TV;
            0    1     2        result  TT;
    Signature: (TV;TT;)Lorg/jooq/CaseWhenStep<TV;TT;>;
    MethodParameters:
              Name  Flags
      compareValue  
      result        

  public final org.jooq.CaseWhenStep<V, T> when(V, org.jooq.Field<T>);
    descriptor: (Ljava/lang/Object;Lorg/jooq/Field;)Lorg/jooq/CaseWhenStep;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jooq.impl.CaseWhenStepImpl this
        start local 1 // java.lang.Object compareValue
        start local 2 // org.jooq.Field result
         0: .line 132
            aload 0 /* this */
            aload 1 /* compareValue */
            aload 0 /* this */
            getfield org.jooq.impl.CaseWhenStepImpl.value:Lorg/jooq/Field;
            invokestatic org.jooq.impl.Tools.field:(Ljava/lang/Object;Lorg/jooq/Field;)Lorg/jooq/Field;
            aload 2 /* result */
            invokevirtual org.jooq.impl.CaseWhenStepImpl.when:(Lorg/jooq/Field;Lorg/jooq/Field;)Lorg/jooq/CaseWhenStep;
            areturn
        end local 2 // org.jooq.Field result
        end local 1 // java.lang.Object compareValue
        end local 0 // org.jooq.impl.CaseWhenStepImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jooq/impl/CaseWhenStepImpl<TV;TT;>;
            0    1     1  compareValue  TV;
            0    1     2        result  Lorg/jooq/Field<TT;>;
    Signature: (TV;Lorg/jooq/Field<TT;>;)Lorg/jooq/CaseWhenStep<TV;TT;>;
    MethodParameters:
              Name  Flags
      compareValue  
      result        

  public final org.jooq.CaseWhenStep<V, T> when(org.jooq.Field<V>, T);
    descriptor: (Lorg/jooq/Field;Ljava/lang/Object;)Lorg/jooq/CaseWhenStep;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jooq.impl.CaseWhenStepImpl this
        start local 1 // org.jooq.Field compareValue
        start local 2 // java.lang.Object result
         0: .line 137
            aload 0 /* this */
            aload 1 /* compareValue */
            aload 2 /* result */
            invokestatic org.jooq.impl.Tools.field:(Ljava/lang/Object;)Lorg/jooq/Field;
            invokevirtual org.jooq.impl.CaseWhenStepImpl.when:(Lorg/jooq/Field;Lorg/jooq/Field;)Lorg/jooq/CaseWhenStep;
            areturn
        end local 2 // java.lang.Object result
        end local 1 // org.jooq.Field compareValue
        end local 0 // org.jooq.impl.CaseWhenStepImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jooq/impl/CaseWhenStepImpl<TV;TT;>;
            0    1     1  compareValue  Lorg/jooq/Field<TV;>;
            0    1     2        result  TT;
    Signature: (Lorg/jooq/Field<TV;>;TT;)Lorg/jooq/CaseWhenStep<TV;TT;>;
    MethodParameters:
              Name  Flags
      compareValue  
      result        

  public final org.jooq.CaseWhenStep<V, T> when(org.jooq.Field<V>, org.jooq.Field<T>);
    descriptor: (Lorg/jooq/Field;Lorg/jooq/Field;)Lorg/jooq/CaseWhenStep;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jooq.impl.CaseWhenStepImpl this
        start local 1 // org.jooq.Field compareValue
        start local 2 // org.jooq.Field result
         0: .line 142
            aload 0 /* this */
            getfield org.jooq.impl.CaseWhenStepImpl.compareValues:Ljava/util/List;
            aload 1 /* compareValue */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 143
            aload 0 /* this */
            getfield org.jooq.impl.CaseWhenStepImpl.results:Ljava/util/List;
            aload 2 /* result */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 145
            aload 0 /* this */
            areturn
        end local 2 // org.jooq.Field result
        end local 1 // org.jooq.Field compareValue
        end local 0 // org.jooq.impl.CaseWhenStepImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/jooq/impl/CaseWhenStepImpl<TV;TT;>;
            0    3     1  compareValue  Lorg/jooq/Field<TV;>;
            0    3     2        result  Lorg/jooq/Field<TT;>;
    Signature: (Lorg/jooq/Field<TV;>;Lorg/jooq/Field<TT;>;)Lorg/jooq/CaseWhenStep<TV;TT;>;
    MethodParameters:
              Name  Flags
      compareValue  
      result        

  public final org.jooq.CaseWhenStep<V, T> mapValues(java.util.Map<V, T>);
    descriptor: (Ljava/util/Map;)Lorg/jooq/CaseWhenStep;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jooq.impl.CaseWhenStepImpl this
        start local 1 // java.util.Map values
         0: .line 150
            aload 1 /* values */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.jooq.impl.CaseWhenStepImpl java.util.Map top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         2: .line 151
            aload 0 /* this */
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual org.jooq.impl.CaseWhenStepImpl.when:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/jooq/CaseWhenStep;
            pop
        end local 2 // java.util.Map$Entry entry
         3: .line 150
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 153
            aload 0 /* this */
            areturn
        end local 1 // java.util.Map values
        end local 0 // org.jooq.impl.CaseWhenStepImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/jooq/impl/CaseWhenStepImpl<TV;TT;>;
            0    5     1  values  Ljava/util/Map<TV;TT;>;
            2    3     2   entry  Ljava/util/Map$Entry<TV;TT;>;
    Signature: (Ljava/util/Map<TV;TT;>;)Lorg/jooq/CaseWhenStep<TV;TT;>;
    MethodParameters:
        Name  Flags
      values  

  public final org.jooq.CaseWhenStep<V, T> mapFields(java.util.Map<? extends org.jooq.Field<V>, ? extends org.jooq.Field<T>>);
    descriptor: (Ljava/util/Map;)Lorg/jooq/CaseWhenStep;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jooq.impl.CaseWhenStepImpl this
        start local 1 // java.util.Map fields
         0: .line 158
            aload 1 /* fields */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.jooq.impl.CaseWhenStepImpl java.util.Map top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         2: .line 159
            aload 0 /* this */
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.jooq.Field
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.jooq.Field
            invokevirtual org.jooq.impl.CaseWhenStepImpl.when:(Lorg/jooq/Field;Lorg/jooq/Field;)Lorg/jooq/CaseWhenStep;
            pop
        end local 2 // java.util.Map$Entry entry
         3: .line 158
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 161
            aload 0 /* this */
            areturn
        end local 1 // java.util.Map fields
        end local 0 // org.jooq.impl.CaseWhenStepImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/jooq/impl/CaseWhenStepImpl<TV;TT;>;
            0    5     1  fields  Ljava/util/Map<+Lorg/jooq/Field<TV;>;+Lorg/jooq/Field<TT;>;>;
            2    3     2   entry  Ljava/util/Map$Entry<+Lorg/jooq/Field<TV;>;+Lorg/jooq/Field<TT;>;>;
    Signature: (Ljava/util/Map<+Lorg/jooq/Field<TV;>;+Lorg/jooq/Field<TT;>;>;)Lorg/jooq/CaseWhenStep<TV;TT;>;
    MethodParameters:
        Name  Flags
      fields  

  public final void accept(org.jooq.Context<?>);
    descriptor: (Lorg/jooq/Context;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jooq.impl.CaseWhenStepImpl this
        start local 1 // org.jooq.Context ctx
         0: .line 166
            invokestatic org.jooq.impl.CaseWhenStepImpl.$SWITCH_TABLE$org$jooq$SQLDialect:()[I
            aload 1 /* ctx */
            invokeinterface org.jooq.Context.family:()Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            iaload
            tableswitch { // 4 - 4
                    4: 1
              default: 3
          }
         1: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ctx */
            invokevirtual org.jooq.impl.CaseWhenStepImpl.acceptSearched:(Lorg/jooq/Context;)V
         2: .line 176
            goto 4
         3: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ctx */
            invokevirtual org.jooq.impl.CaseWhenStepImpl.acceptNative:(Lorg/jooq/Context;)V
         4: .line 182
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jooq.Context ctx
        end local 0 // org.jooq.impl.CaseWhenStepImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jooq/impl/CaseWhenStepImpl<TV;TT;>;
            0    5     1   ctx  Lorg/jooq/Context<*>;
    Signature: (Lorg/jooq/Context<*>;)V
    MethodParameters:
      Name  Flags
      ctx   

  private final void acceptSearched(org.jooq.Context<?>);
    descriptor: (Lorg/jooq/Context;)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.jooq.impl.CaseWhenStepImpl this
        start local 1 // org.jooq.Context ctx
         0: .line 215
            aload 0 /* this */
            getfield org.jooq.impl.CaseWhenStepImpl.compareValues:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 217
            aconst_null
            astore 3 /* when */
        start local 3 // org.jooq.CaseConditionStep when
         2: .line 218
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 8
         4: .line 219
      StackMap locals: int org.jooq.CaseConditionStep int
      StackMap stack:
            aload 3 /* when */
            ifnonnull 6
         5: .line 220
            aload 0 /* this */
            getfield org.jooq.impl.CaseWhenStepImpl.value:Lorg/jooq/Field;
            aload 0 /* this */
            getfield org.jooq.impl.CaseWhenStepImpl.compareValues:Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.jooq.Field
            invokeinterface org.jooq.Field.eq:(Lorg/jooq/Field;)Lorg/jooq/Condition;
            aload 0 /* this */
            getfield org.jooq.impl.CaseWhenStepImpl.results:Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.jooq.Field
            invokestatic org.jooq.impl.DSL.when:(Lorg/jooq/Condition;Lorg/jooq/Field;)Lorg/jooq/CaseConditionStep;
            astore 3 /* when */
            goto 7
         6: .line 222
      StackMap locals:
      StackMap stack:
            aload 3 /* when */
            aload 0 /* this */
            getfield org.jooq.impl.CaseWhenStepImpl.value:Lorg/jooq/Field;
            aload 0 /* this */
            getfield org.jooq.impl.CaseWhenStepImpl.compareValues:Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.jooq.Field
            invokeinterface org.jooq.Field.eq:(Lorg/jooq/Field;)Lorg/jooq/Condition;
            aload 0 /* this */
            getfield org.jooq.impl.CaseWhenStepImpl.results:Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.jooq.Field
            invokeinterface org.jooq.CaseConditionStep.when:(Lorg/jooq/Condition;Lorg/jooq/Field;)Lorg/jooq/CaseConditionStep;
            astore 3 /* when */
         7: .line 218
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 2 /* size */
            if_icmplt 4
        end local 4 // int i
         9: .line 224
            aload 3 /* when */
            ifnull 13
        10: .line 225
            aload 0 /* this */
            getfield org.jooq.impl.CaseWhenStepImpl.else_:Lorg/jooq/Field;
            ifnull 12
        11: .line 226
            aload 1 /* ctx */
            aload 3 /* when */
            aload 0 /* this */
            getfield org.jooq.impl.CaseWhenStepImpl.else_:Lorg/jooq/Field;
            invokeinterface org.jooq.CaseConditionStep.else_:(Lorg/jooq/Field;)Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            pop
            goto 13
        12: .line 228
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            aload 3 /* when */
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            pop
        13: .line 229
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.jooq.CaseConditionStep when
        end local 2 // int size
        end local 1 // org.jooq.Context ctx
        end local 0 // org.jooq.impl.CaseWhenStepImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/jooq/impl/CaseWhenStepImpl<TV;TT;>;
            0   14     1   ctx  Lorg/jooq/Context<*>;
            1   14     2  size  I
            2   14     3  when  Lorg/jooq/CaseConditionStep<TT;>;
            3    9     4     i  I
    Signature: (Lorg/jooq/Context<*>;)V
    MethodParameters:
      Name  Flags
      ctx   

  private final void acceptNative(org.jooq.Context<?>);
    descriptor: (Lorg/jooq/Context;)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jooq.impl.CaseWhenStepImpl this
        start local 1 // org.jooq.Context ctx
         0: .line 232
            aload 1 /* ctx */
            getstatic org.jooq.impl.Keywords.K_CASE:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            pop
         1: .line 234
            aload 0 /* this */
            getfield org.jooq.impl.CaseWhenStepImpl.compareValues:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 2 /* size */
        start local 2 // int size
         2: .line 235
            aload 1 /* ctx */
            bipush 32
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
         3: .line 236
            aload 0 /* this */
            getfield org.jooq.impl.CaseWhenStepImpl.value:Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
         4: .line 235
            checkcast org.jooq.Context
         5: .line 237
            invokeinterface org.jooq.Context.formatIndentStart:()Lorg/jooq/Context;
            pop
         6: .line 239
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         7: goto 23
         8: .line 240
      StackMap locals: int int
      StackMap stack:
            aload 1 /* ctx */
            invokeinterface org.jooq.Context.formatSeparator:()Lorg/jooq/Context;
            checkcast org.jooq.Context
         9: .line 241
            getstatic org.jooq.impl.Keywords.K_WHEN:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        10: .line 240
            checkcast org.jooq.Context
        11: .line 241
            bipush 32
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
        12: .line 240
            checkcast org.jooq.Context
        13: .line 242
            aload 0 /* this */
            getfield org.jooq.impl.CaseWhenStepImpl.compareValues:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.jooq.QueryPart
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        14: .line 240
            checkcast org.jooq.Context
        15: .line 242
            bipush 32
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
        16: .line 240
            checkcast org.jooq.Context
        17: .line 243
            getstatic org.jooq.impl.Keywords.K_THEN:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        18: .line 240
            checkcast org.jooq.Context
        19: .line 243
            bipush 32
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
        20: .line 240
            checkcast org.jooq.Context
        21: .line 244
            aload 0 /* this */
            getfield org.jooq.impl.CaseWhenStepImpl.results:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.jooq.QueryPart
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            pop
        22: .line 239
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 3 /* i */
            iload 2 /* size */
            if_icmplt 8
        end local 3 // int i
        24: .line 246
            aload 0 /* this */
            getfield org.jooq.impl.CaseWhenStepImpl.else_:Lorg/jooq/Field;
            ifnull 31
        25: .line 247
            aload 1 /* ctx */
            invokeinterface org.jooq.Context.formatSeparator:()Lorg/jooq/Context;
            checkcast org.jooq.Context
        26: .line 248
            getstatic org.jooq.impl.Keywords.K_ELSE:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        27: .line 247
            checkcast org.jooq.Context
        28: .line 248
            bipush 32
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
        29: .line 247
            checkcast org.jooq.Context
        30: .line 249
            aload 0 /* this */
            getfield org.jooq.impl.CaseWhenStepImpl.else_:Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            pop
        31: .line 251
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            invokeinterface org.jooq.Context.formatIndentEnd:()Lorg/jooq/Context;
            checkcast org.jooq.Context
        32: .line 252
            invokeinterface org.jooq.Context.formatSeparator:()Lorg/jooq/Context;
        33: .line 251
            checkcast org.jooq.Context
        34: .line 253
            getstatic org.jooq.impl.Keywords.K_END:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            pop
        35: .line 254
            return
        end local 2 // int size
        end local 1 // org.jooq.Context ctx
        end local 0 // org.jooq.impl.CaseWhenStepImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   36     0  this  Lorg/jooq/impl/CaseWhenStepImpl<TV;TT;>;
            0   36     1   ctx  Lorg/jooq/Context<*>;
            2   36     2  size  I
            7   24     3     i  I
    Signature: (Lorg/jooq/Context<*>;)V
    MethodParameters:
      Name  Flags
      ctx   

  static int[] $SWITCH_TABLE$org$jooq$SQLDialect();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 61
            getstatic org.jooq.impl.CaseWhenStepImpl.$SWITCH_TABLE$org$jooq$SQLDialect:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.jooq.SQLDialect.values:()[Lorg/jooq/SQLDialect;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.jooq.SQLDialect.CUBRID:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.jooq.SQLDialect.DEFAULT:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.jooq.SQLDialect.DERBY:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.jooq.SQLDialect.FIREBIRD:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            iconst_5
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.jooq.SQLDialect.H2:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.jooq.SQLDialect.HSQLDB:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            bipush 7
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic org.jooq.SQLDialect.MARIADB:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            bipush 8
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic org.jooq.SQLDialect.MYSQL:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            bipush 9
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic org.jooq.SQLDialect.POSTGRES:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            bipush 10
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic org.jooq.SQLDialect.SQL99:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            iconst_1
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic org.jooq.SQLDialect.SQLITE:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            bipush 11
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            dup
            putstatic org.jooq.impl.CaseWhenStepImpl.$SWITCH_TABLE$org$jooq$SQLDialect:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
}
Signature: <V:Ljava/lang/Object;T:Ljava/lang/Object;>Lorg/jooq/impl/AbstractField<TT;>;Lorg/jooq/CaseWhenStep<TV;TT;>;
SourceFile: "CaseWhenStepImpl.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map