public class org.hibernate.query.criteria.internal.expression.SimpleCaseExpression<C, R> extends org.hibernate.query.criteria.internal.expression.ExpressionImpl<R> implements javax.persistence.criteria.CriteriaBuilder$SimpleCase<C, R>, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.query.criteria.internal.expression.SimpleCaseExpression
  super_class: org.hibernate.query.criteria.internal.expression.ExpressionImpl
{
  private final javax.persistence.criteria.Expression<? extends C> expression;
    descriptor: Ljavax/persistence/criteria/Expression;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljavax/persistence/criteria/Expression<+TC;>;

  private java.util.List<org.hibernate.query.criteria.internal.expression.SimpleCaseExpression<C, R>.WhenClause> whenClauses;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression<TC;TR;>.WhenClause;>;

  private javax.persistence.criteria.Expression<? extends R> otherwiseResult;
    descriptor: Ljavax/persistence/criteria/Expression;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljavax/persistence/criteria/Expression<+TR;>;

  public void <init>(org.hibernate.query.criteria.internal.CriteriaBuilderImpl, java.lang.Class<R>, javax.persistence.criteria.Expression<? extends C>);
    descriptor: (Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;Ljava/lang/Class;Ljavax/persistence/criteria/Expression;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
        start local 1 // org.hibernate.query.criteria.internal.CriteriaBuilderImpl criteriaBuilder
        start local 2 // java.lang.Class javaType
        start local 3 // javax.persistence.criteria.Expression expression
         0: .line 62
            aload 0 /* this */
            aload 1 /* criteriaBuilder */
            aload 2 /* javaType */
            invokespecial org.hibernate.query.criteria.internal.expression.ExpressionImpl.<init>:(Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;Ljava/lang/Class;)V
         1: .line 36
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.whenClauses:Ljava/util/List;
         2: .line 63
            aload 0 /* this */
            aload 3 /* expression */
            putfield org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.expression:Ljavax/persistence/criteria/Expression;
         3: .line 64
            return
        end local 3 // javax.persistence.criteria.Expression expression
        end local 2 // java.lang.Class javaType
        end local 1 // org.hibernate.query.criteria.internal.CriteriaBuilderImpl criteriaBuilder
        end local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression<TC;TR;>;
            0    4     1  criteriaBuilder  Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;
            0    4     2         javaType  Ljava/lang/Class<TR;>;
            0    4     3       expression  Ljavax/persistence/criteria/Expression<+TC;>;
    Signature: (Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;Ljava/lang/Class<TR;>;Ljavax/persistence/criteria/Expression<+TC;>;)V
    MethodParameters:
                 Name  Flags
      criteriaBuilder  
      javaType         
      expression       

  public javax.persistence.criteria.Expression<C> getExpression();
    descriptor: ()Ljavax/persistence/criteria/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
         0: .line 68
            aload 0 /* this */
            getfield org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.expression:Ljavax/persistence/criteria/Expression;
            areturn
        end local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression<TC;TR;>;
    Signature: ()Ljavax/persistence/criteria/Expression<TC;>;

  public javax.persistence.criteria.CriteriaBuilder$SimpleCase<C, R> when(C, R);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljavax/persistence/criteria/CriteriaBuilder$SimpleCase;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
        start local 1 // java.lang.Object condition
        start local 2 // java.lang.Object result
         0: .line 72
            aload 0 /* this */
            aload 1 /* condition */
            aload 0 /* this */
            aload 2 /* result */
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.buildLiteral:(Ljava/lang/Object;)Lorg/hibernate/query/criteria/internal/expression/LiteralExpression;
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.when:(Ljava/lang/Object;Ljavax/persistence/criteria/Expression;)Ljavax/persistence/criteria/CriteriaBuilder$SimpleCase;
            areturn
        end local 2 // java.lang.Object result
        end local 1 // java.lang.Object condition
        end local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression<TC;TR;>;
            0    1     1  condition  TC;
            0    1     2     result  TR;
    Signature: (TC;TR;)Ljavax/persistence/criteria/CriteriaBuilder$SimpleCase<TC;TR;>;
    MethodParameters:
           Name  Flags
      condition  
      result     

  private org.hibernate.query.criteria.internal.expression.LiteralExpression<R> buildLiteral(R);
    descriptor: (Ljava/lang/Object;)Lorg/hibernate/query/criteria/internal/expression/LiteralExpression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
        start local 1 // java.lang.Object result
         0: .line 77
            aload 1 /* result */
            ifnull 2
         1: .line 78
            aload 1 /* result */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            goto 3
         2: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.getJavaType:()Ljava/lang/Class;
         3: .line 77
      StackMap locals:
      StackMap stack: java.lang.Class
            astore 2 /* type */
        start local 2 // java.lang.Class type
         4: .line 80
            new org.hibernate.query.criteria.internal.expression.LiteralExpression
            dup
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.criteriaBuilder:()Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;
            aload 2 /* type */
            aload 1 /* result */
            invokespecial org.hibernate.query.criteria.internal.expression.LiteralExpression.<init>:(Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;Ljava/lang/Class;Ljava/lang/Object;)V
            areturn
        end local 2 // java.lang.Class type
        end local 1 // java.lang.Object result
        end local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression<TC;TR;>;
            0    5     1  result  TR;
            4    5     2    type  Ljava/lang/Class<TR;>;
    Signature: (TR;)Lorg/hibernate/query/criteria/internal/expression/LiteralExpression<TR;>;
    MethodParameters:
        Name  Flags
      result  

  public javax.persistence.criteria.CriteriaBuilder$SimpleCase<C, R> when(C, javax.persistence.criteria.Expression<? extends R>);
    descriptor: (Ljava/lang/Object;Ljavax/persistence/criteria/Expression;)Ljavax/persistence/criteria/CriteriaBuilder$SimpleCase;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
        start local 1 // java.lang.Object condition
        start local 2 // javax.persistence.criteria.Expression result
         0: .line 84
            new org.hibernate.query.criteria.internal.expression.SimpleCaseExpression$WhenClause
            dup
            aload 0 /* this */
         1: .line 85
            new org.hibernate.query.criteria.internal.expression.LiteralExpression
            dup
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.criteriaBuilder:()Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;
            aload 1 /* condition */
            invokespecial org.hibernate.query.criteria.internal.expression.LiteralExpression.<init>:(Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;Ljava/lang/Object;)V
         2: .line 86
            aload 2 /* result */
         3: .line 84
            invokespecial org.hibernate.query.criteria.internal.expression.SimpleCaseExpression$WhenClause.<init>:(Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression;Lorg/hibernate/query/criteria/internal/expression/LiteralExpression;Ljavax/persistence/criteria/Expression;)V
            astore 3 /* whenClause */
        start local 3 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression$WhenClause whenClause
         4: .line 88
            aload 0 /* this */
            getfield org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.whenClauses:Ljava/util/List;
            aload 3 /* whenClause */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 89
            aload 0 /* this */
            aload 2 /* result */
            invokeinterface javax.persistence.criteria.Expression.getJavaType:()Ljava/lang/Class;
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.resetJavaType:(Ljava/lang/Class;)V
         6: .line 90
            aload 0 /* this */
            areturn
        end local 3 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression$WhenClause whenClause
        end local 2 // javax.persistence.criteria.Expression result
        end local 1 // java.lang.Object condition
        end local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression<TC;TR;>;
            0    7     1   condition  TC;
            0    7     2      result  Ljavax/persistence/criteria/Expression<+TR;>;
            4    7     3  whenClause  Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression<TC;TR;>.WhenClause;
    Signature: (TC;Ljavax/persistence/criteria/Expression<+TR;>;)Ljavax/persistence/criteria/CriteriaBuilder$SimpleCase<TC;TR;>;
    MethodParameters:
           Name  Flags
      condition  
      result     

  public javax.persistence.criteria.Expression<R> otherwise(R);
    descriptor: (Ljava/lang/Object;)Ljavax/persistence/criteria/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
        start local 1 // java.lang.Object result
         0: .line 94
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* result */
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.buildLiteral:(Ljava/lang/Object;)Lorg/hibernate/query/criteria/internal/expression/LiteralExpression;
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.otherwise:(Ljavax/persistence/criteria/Expression;)Ljavax/persistence/criteria/Expression;
            areturn
        end local 1 // java.lang.Object result
        end local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression<TC;TR;>;
            0    1     1  result  TR;
    Signature: (TR;)Ljavax/persistence/criteria/Expression<TR;>;
    MethodParameters:
        Name  Flags
      result  

  public javax.persistence.criteria.Expression<R> otherwise(javax.persistence.criteria.Expression<? extends R>);
    descriptor: (Ljavax/persistence/criteria/Expression;)Ljavax/persistence/criteria/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
        start local 1 // javax.persistence.criteria.Expression result
         0: .line 98
            aload 0 /* this */
            aload 1 /* result */
            putfield org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.otherwiseResult:Ljavax/persistence/criteria/Expression;
         1: .line 99
            aload 0 /* this */
            aload 1 /* result */
            invokeinterface javax.persistence.criteria.Expression.getJavaType:()Ljava/lang/Class;
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.resetJavaType:(Ljava/lang/Class;)V
         2: .line 100
            aload 0 /* this */
            areturn
        end local 1 // javax.persistence.criteria.Expression result
        end local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression<TC;TR;>;
            0    3     1  result  Ljavax/persistence/criteria/Expression<+TR;>;
    Signature: (Ljavax/persistence/criteria/Expression<+TR;>;)Ljavax/persistence/criteria/Expression<TR;>;
    MethodParameters:
        Name  Flags
      result  

  public javax.persistence.criteria.Expression<? extends R> getOtherwiseResult();
    descriptor: ()Ljavax/persistence/criteria/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
         0: .line 104
            aload 0 /* this */
            getfield org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.otherwiseResult:Ljavax/persistence/criteria/Expression;
            areturn
        end local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression<TC;TR;>;
    Signature: ()Ljavax/persistence/criteria/Expression<+TR;>;

  public java.util.List<org.hibernate.query.criteria.internal.expression.SimpleCaseExpression<C, R>.WhenClause> getWhenClauses();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
         0: .line 108
            aload 0 /* this */
            getfield org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.whenClauses:Ljava/util/List;
            areturn
        end local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression<TC;TR;>;
    Signature: ()Ljava/util/List<Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression<TC;TR;>.WhenClause;>;

  public void registerParameters(org.hibernate.query.criteria.internal.ParameterRegistry);
    descriptor: (Lorg/hibernate/query/criteria/internal/ParameterRegistry;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
        start local 1 // org.hibernate.query.criteria.internal.ParameterRegistry registry
         0: .line 112
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.getExpression:()Ljavax/persistence/criteria/Expression;
            aload 1 /* registry */
            invokestatic org.hibernate.query.criteria.internal.ParameterContainer$Helper.possibleParameter:(Ljavax/persistence/criteria/Selection;Lorg/hibernate/query/criteria/internal/ParameterRegistry;)V
         1: .line 113
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.getWhenClauses:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.hibernate.query.criteria.internal.expression.SimpleCaseExpression org.hibernate.query.criteria.internal.ParameterRegistry top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.query.criteria.internal.expression.SimpleCaseExpression$WhenClause
            astore 2 /* whenClause */
        start local 2 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression$WhenClause whenClause
         3: .line 114
            aload 2 /* whenClause */
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression$WhenClause.getResult:()Ljavax/persistence/criteria/Expression;
            aload 1 /* registry */
            invokestatic org.hibernate.query.criteria.internal.ParameterContainer$Helper.possibleParameter:(Ljavax/persistence/criteria/Selection;Lorg/hibernate/query/criteria/internal/ParameterRegistry;)V
        end local 2 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression$WhenClause whenClause
         4: .line 113
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 116
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.getOtherwiseResult:()Ljavax/persistence/criteria/Expression;
            aload 1 /* registry */
            invokestatic org.hibernate.query.criteria.internal.ParameterContainer$Helper.possibleParameter:(Ljavax/persistence/criteria/Selection;Lorg/hibernate/query/criteria/internal/ParameterRegistry;)V
         6: .line 117
            return
        end local 1 // org.hibernate.query.criteria.internal.ParameterRegistry registry
        end local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression<TC;TR;>;
            0    7     1    registry  Lorg/hibernate/query/criteria/internal/ParameterRegistry;
            3    4     2  whenClause  Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression<TC;TR;>.WhenClause;
    MethodParameters:
          Name  Flags
      registry  

  public java.lang.String render(org.hibernate.query.criteria.internal.compile.RenderingContext);
    descriptor: (Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
        start local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
         0: .line 121
            aload 0 /* this */
         1: .line 122
            aload 1 /* renderingContext */
         2: .line 123
            invokedynamic apply()Ljava/util/function/BiFunction;
              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;)Ljava/lang/Object;
                  org/hibernate/query/criteria/internal/expression/SimpleCaseExpression.lambda$0(Lorg/hibernate/query/criteria/internal/Renderable;Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String; (6)
                  (Lorg/hibernate/query/criteria/internal/Renderable;Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String;
         3: .line 121
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.render:(Lorg/hibernate/query/criteria/internal/compile/RenderingContext;Ljava/util/function/BiFunction;)Ljava/lang/String;
            areturn
        end local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
        end local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression<TC;TR;>;
            0    4     1  renderingContext  Lorg/hibernate/query/criteria/internal/compile/RenderingContext;
    MethodParameters:
                  Name  Flags
      renderingContext  

  public java.lang.String renderProjection(org.hibernate.query.criteria.internal.compile.RenderingContext);
    descriptor: (Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
        start local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
         0: .line 129
            aload 0 /* this */
         1: .line 130
            aload 1 /* renderingContext */
         2: .line 131
            invokedynamic apply()Ljava/util/function/BiFunction;
              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;)Ljava/lang/Object;
                  org/hibernate/query/criteria/internal/expression/SimpleCaseExpression.lambda$1(Lorg/hibernate/query/criteria/internal/Renderable;Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String; (6)
                  (Lorg/hibernate/query/criteria/internal/Renderable;Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String;
         3: .line 129
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.render:(Lorg/hibernate/query/criteria/internal/compile/RenderingContext;Ljava/util/function/BiFunction;)Ljava/lang/String;
            areturn
        end local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
        end local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression<TC;TR;>;
            0    4     1  renderingContext  Lorg/hibernate/query/criteria/internal/compile/RenderingContext;
    MethodParameters:
                  Name  Flags
      renderingContext  

  public java.lang.String renderGroupBy(org.hibernate.query.criteria.internal.compile.RenderingContext);
    descriptor: (Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
        start local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
         0: .line 137
            aload 0 /* this */
         1: .line 138
            aload 1 /* renderingContext */
         2: .line 139
            invokedynamic apply()Ljava/util/function/BiFunction;
              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;)Ljava/lang/Object;
                  org/hibernate/query/criteria/internal/expression/SimpleCaseExpression.lambda$2(Lorg/hibernate/query/criteria/internal/Renderable;Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String; (6)
                  (Lorg/hibernate/query/criteria/internal/Renderable;Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String;
         3: .line 137
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.render:(Lorg/hibernate/query/criteria/internal/compile/RenderingContext;Ljava/util/function/BiFunction;)Ljava/lang/String;
            areturn
        end local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
        end local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression<TC;TR;>;
            0    4     1  renderingContext  Lorg/hibernate/query/criteria/internal/compile/RenderingContext;
    MethodParameters:
                  Name  Flags
      renderingContext  

  private java.lang.String render(org.hibernate.query.criteria.internal.compile.RenderingContext, java.util.function.BiFunction<org.hibernate.query.criteria.internal.Renderable, org.hibernate.query.criteria.internal.compile.RenderingContext, java.lang.String>);
    descriptor: (Lorg/hibernate/query/criteria/internal/compile/RenderingContext;Ljava/util/function/BiFunction;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
        start local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
        start local 2 // java.util.function.BiFunction formatter
         0: .line 146
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* caseExpr */
        start local 3 // java.lang.StringBuilder caseExpr
         1: .line 147
            aload 3 /* caseExpr */
            ldc "case "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 148
            aload 2 /* formatter */
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.getExpression:()Ljavax/persistence/criteria/Expression;
            checkcast org.hibernate.query.criteria.internal.Renderable
            aload 1 /* renderingContext */
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 149
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.getWhenClauses:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: org.hibernate.query.criteria.internal.expression.SimpleCaseExpression org.hibernate.query.criteria.internal.compile.RenderingContext java.util.function.BiFunction java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.query.criteria.internal.expression.SimpleCaseExpression$WhenClause
            astore 4 /* whenClause */
        start local 4 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression$WhenClause whenClause
         5: .line 150
            aload 3 /* caseExpr */
            ldc " when "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 151
            aload 2 /* formatter */
            aload 4 /* whenClause */
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression$WhenClause.getCondition:()Lorg/hibernate/query/criteria/internal/expression/LiteralExpression;
            aload 1 /* renderingContext */
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 152
            ldc " then "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 153
            aload 2 /* formatter */
            aload 4 /* whenClause */
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression$WhenClause.getResult:()Ljavax/persistence/criteria/Expression;
            checkcast org.hibernate.query.criteria.internal.Renderable
            aload 1 /* renderingContext */
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression$WhenClause whenClause
         9: .line 149
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        10: .line 155
            aload 3 /* caseExpr */
            ldc " else "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 156
            aload 2 /* formatter */
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.expression.SimpleCaseExpression.getOtherwiseResult:()Ljavax/persistence/criteria/Expression;
            checkcast org.hibernate.query.criteria.internal.Renderable
            aload 1 /* renderingContext */
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 157
            ldc " end"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 158
            aload 3 /* caseExpr */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder caseExpr
        end local 2 // java.util.function.BiFunction formatter
        end local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
        end local 0 // org.hibernate.query.criteria.internal.expression.SimpleCaseExpression this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   14     0              this  Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression<TC;TR;>;
            0   14     1  renderingContext  Lorg/hibernate/query/criteria/internal/compile/RenderingContext;
            0   14     2         formatter  Ljava/util/function/BiFunction<Lorg/hibernate/query/criteria/internal/Renderable;Lorg/hibernate/query/criteria/internal/compile/RenderingContext;Ljava/lang/String;>;
            1   14     3          caseExpr  Ljava/lang/StringBuilder;
            5    9     4        whenClause  Lorg/hibernate/query/criteria/internal/expression/SimpleCaseExpression<TC;TR;>.WhenClause;
    Signature: (Lorg/hibernate/query/criteria/internal/compile/RenderingContext;Ljava/util/function/BiFunction<Lorg/hibernate/query/criteria/internal/Renderable;Lorg/hibernate/query/criteria/internal/compile/RenderingContext;Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      renderingContext  
      formatter         

  private static java.lang.String lambda$0(org.hibernate.query.criteria.internal.Renderable, org.hibernate.query.criteria.internal.compile.RenderingContext);
    descriptor: (Lorg/hibernate/query/criteria/internal/Renderable;Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.query.criteria.internal.Renderable expression
        start local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext context
         0: .line 123
            aload 0 /* expression */
            aload 1 /* context */
            invokeinterface org.hibernate.query.criteria.internal.Renderable.render:(Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String;
            areturn
        end local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext context
        end local 0 // org.hibernate.query.criteria.internal.Renderable expression
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  expression  Lorg/hibernate/query/criteria/internal/Renderable;
            0    1     1     context  Lorg/hibernate/query/criteria/internal/compile/RenderingContext;

  private static java.lang.String lambda$1(org.hibernate.query.criteria.internal.Renderable, org.hibernate.query.criteria.internal.compile.RenderingContext);
    descriptor: (Lorg/hibernate/query/criteria/internal/Renderable;Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.query.criteria.internal.Renderable expression
        start local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext context
         0: .line 131
            aload 0 /* expression */
            aload 1 /* context */
            invokeinterface org.hibernate.query.criteria.internal.Renderable.renderProjection:(Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String;
            areturn
        end local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext context
        end local 0 // org.hibernate.query.criteria.internal.Renderable expression
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  expression  Lorg/hibernate/query/criteria/internal/Renderable;
            0    1     1     context  Lorg/hibernate/query/criteria/internal/compile/RenderingContext;

  private static java.lang.String lambda$2(org.hibernate.query.criteria.internal.Renderable, org.hibernate.query.criteria.internal.compile.RenderingContext);
    descriptor: (Lorg/hibernate/query/criteria/internal/Renderable;Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.query.criteria.internal.Renderable expression
        start local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext context
         0: .line 139
            aload 0 /* expression */
            aload 1 /* context */
            invokeinterface org.hibernate.query.criteria.internal.Renderable.renderGroupBy:(Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String;
            areturn
        end local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext context
        end local 0 // org.hibernate.query.criteria.internal.Renderable expression
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  expression  Lorg/hibernate/query/criteria/internal/Renderable;
            0    1     1     context  Lorg/hibernate/query/criteria/internal/compile/RenderingContext;
}
Signature: <C:Ljava/lang/Object;R:Ljava/lang/Object;>Lorg/hibernate/query/criteria/internal/expression/ExpressionImpl<TR;>;Ljavax/persistence/criteria/CriteriaBuilder$SimpleCase<TC;TR;>;Ljava/io/Serializable;
SourceFile: "SimpleCaseExpression.java"
NestMembers:
  org.hibernate.query.criteria.internal.expression.SimpleCaseExpression$WhenClause
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract SimpleCase = javax.persistence.criteria.CriteriaBuilder$SimpleCase of javax.persistence.criteria.CriteriaBuilder
  public Helper = org.hibernate.query.criteria.internal.ParameterContainer$Helper of org.hibernate.query.criteria.internal.ParameterContainer
  public WhenClause = org.hibernate.query.criteria.internal.expression.SimpleCaseExpression$WhenClause of org.hibernate.query.criteria.internal.expression.SimpleCaseExpression