public class org.hibernate.query.criteria.internal.expression.SearchedCaseExpression<R> extends org.hibernate.query.criteria.internal.expression.ExpressionImpl<R> implements javax.persistence.criteria.CriteriaBuilder$Case<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.SearchedCaseExpression
  super_class: org.hibernate.query.criteria.internal.expression.ExpressionImpl
{
  private java.util.List<org.hibernate.query.criteria.internal.expression.SearchedCaseExpression<R>.WhenClause> whenClauses;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/hibernate/query/criteria/internal/expression/SearchedCaseExpression<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>);
    descriptor: (Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.query.criteria.internal.expression.SearchedCaseExpression this
        start local 1 // org.hibernate.query.criteria.internal.CriteriaBuilderImpl criteriaBuilder
        start local 2 // java.lang.Class javaType
         0: .line 60
            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.SearchedCaseExpression.whenClauses:Ljava/util/List;
         2: .line 61
            return
        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.SearchedCaseExpression this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/hibernate/query/criteria/internal/expression/SearchedCaseExpression<TR;>;
            0    3     1  criteriaBuilder  Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;
            0    3     2         javaType  Ljava/lang/Class<TR;>;
    Signature: (Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;Ljava/lang/Class<TR;>;)V
    MethodParameters:
                 Name  Flags
      criteriaBuilder  
      javaType         

  public javax.persistence.criteria.CriteriaBuilder$Case<R> when(javax.persistence.criteria.Expression<java.lang.Boolean>, R);
    descriptor: (Ljavax/persistence/criteria/Expression;Ljava/lang/Object;)Ljavax/persistence/criteria/CriteriaBuilder$Case;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.hibernate.query.criteria.internal.expression.SearchedCaseExpression this
        start local 1 // javax.persistence.criteria.Expression condition
        start local 2 // java.lang.Object result
         0: .line 64
            aload 0 /* this */
            aload 1 /* condition */
            aload 0 /* this */
            aload 2 /* result */
            invokevirtual org.hibernate.query.criteria.internal.expression.SearchedCaseExpression.buildLiteral:(Ljava/lang/Object;)Lorg/hibernate/query/criteria/internal/expression/LiteralExpression;
            invokevirtual org.hibernate.query.criteria.internal.expression.SearchedCaseExpression.when:(Ljavax/persistence/criteria/Expression;Ljavax/persistence/criteria/Expression;)Ljavax/persistence/criteria/CriteriaBuilder$Case;
            areturn
        end local 2 // java.lang.Object result
        end local 1 // javax.persistence.criteria.Expression condition
        end local 0 // org.hibernate.query.criteria.internal.expression.SearchedCaseExpression this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hibernate/query/criteria/internal/expression/SearchedCaseExpression<TR;>;
            0    1     1  condition  Ljavax/persistence/criteria/Expression<Ljava/lang/Boolean;>;
            0    1     2     result  TR;
    Signature: (Ljavax/persistence/criteria/Expression<Ljava/lang/Boolean;>;TR;)Ljavax/persistence/criteria/CriteriaBuilder$Case<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.SearchedCaseExpression this
        start local 1 // java.lang.Object result
         0: .line 69
            aload 1 /* result */
            ifnull 2
         1: .line 70
            aload 1 /* result */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            goto 3
         2: .line 71
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.expression.SearchedCaseExpression.getJavaType:()Ljava/lang/Class;
         3: .line 69
      StackMap locals:
      StackMap stack: java.lang.Class
            astore 2 /* type */
        start local 2 // java.lang.Class type
         4: .line 72
            new org.hibernate.query.criteria.internal.expression.LiteralExpression
            dup
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.expression.SearchedCaseExpression.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.SearchedCaseExpression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/hibernate/query/criteria/internal/expression/SearchedCaseExpression<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$Case<R> when(javax.persistence.criteria.Expression<java.lang.Boolean>, javax.persistence.criteria.Expression<? extends R>);
    descriptor: (Ljavax/persistence/criteria/Expression;Ljavax/persistence/criteria/Expression;)Ljavax/persistence/criteria/CriteriaBuilder$Case;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.hibernate.query.criteria.internal.expression.SearchedCaseExpression this
        start local 1 // javax.persistence.criteria.Expression condition
        start local 2 // javax.persistence.criteria.Expression result
         0: .line 76
            new org.hibernate.query.criteria.internal.expression.SearchedCaseExpression$WhenClause
            dup
            aload 0 /* this */
            aload 1 /* condition */
            aload 2 /* result */
            invokespecial org.hibernate.query.criteria.internal.expression.SearchedCaseExpression$WhenClause.<init>:(Lorg/hibernate/query/criteria/internal/expression/SearchedCaseExpression;Ljavax/persistence/criteria/Expression;Ljavax/persistence/criteria/Expression;)V
            astore 3 /* whenClause */
        start local 3 // org.hibernate.query.criteria.internal.expression.SearchedCaseExpression$WhenClause whenClause
         1: .line 77
            aload 0 /* this */
            getfield org.hibernate.query.criteria.internal.expression.SearchedCaseExpression.whenClauses:Ljava/util/List;
            aload 3 /* whenClause */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 78
            aload 0 /* this */
            aload 2 /* result */
            invokeinterface javax.persistence.criteria.Expression.getJavaType:()Ljava/lang/Class;
            invokevirtual org.hibernate.query.criteria.internal.expression.SearchedCaseExpression.resetJavaType:(Ljava/lang/Class;)V
         3: .line 79
            aload 0 /* this */
            areturn
        end local 3 // org.hibernate.query.criteria.internal.expression.SearchedCaseExpression$WhenClause whenClause
        end local 2 // javax.persistence.criteria.Expression result
        end local 1 // javax.persistence.criteria.Expression condition
        end local 0 // org.hibernate.query.criteria.internal.expression.SearchedCaseExpression this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/hibernate/query/criteria/internal/expression/SearchedCaseExpression<TR;>;
            0    4     1   condition  Ljavax/persistence/criteria/Expression<Ljava/lang/Boolean;>;
            0    4     2      result  Ljavax/persistence/criteria/Expression<+TR;>;
            1    4     3  whenClause  Lorg/hibernate/query/criteria/internal/expression/SearchedCaseExpression<TR;>.WhenClause;
    Signature: (Ljavax/persistence/criteria/Expression<Ljava/lang/Boolean;>;Ljavax/persistence/criteria/Expression<+TR;>;)Ljavax/persistence/criteria/CriteriaBuilder$Case<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.SearchedCaseExpression this
        start local 1 // java.lang.Object result
         0: .line 83
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* result */
            invokevirtual org.hibernate.query.criteria.internal.expression.SearchedCaseExpression.buildLiteral:(Ljava/lang/Object;)Lorg/hibernate/query/criteria/internal/expression/LiteralExpression;
            invokevirtual org.hibernate.query.criteria.internal.expression.SearchedCaseExpression.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.SearchedCaseExpression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/hibernate/query/criteria/internal/expression/SearchedCaseExpression<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.SearchedCaseExpression this
        start local 1 // javax.persistence.criteria.Expression result
         0: .line 87
            aload 0 /* this */
            aload 1 /* result */
            putfield org.hibernate.query.criteria.internal.expression.SearchedCaseExpression.otherwiseResult:Ljavax/persistence/criteria/Expression;
         1: .line 88
            aload 0 /* this */
            aload 1 /* result */
            invokeinterface javax.persistence.criteria.Expression.getJavaType:()Ljava/lang/Class;
            invokevirtual org.hibernate.query.criteria.internal.expression.SearchedCaseExpression.resetJavaType:(Ljava/lang/Class;)V
         2: .line 89
            aload 0 /* this */
            areturn
        end local 1 // javax.persistence.criteria.Expression result
        end local 0 // org.hibernate.query.criteria.internal.expression.SearchedCaseExpression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/hibernate/query/criteria/internal/expression/SearchedCaseExpression<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.SearchedCaseExpression this
         0: .line 93
            aload 0 /* this */
            getfield org.hibernate.query.criteria.internal.expression.SearchedCaseExpression.otherwiseResult:Ljavax/persistence/criteria/Expression;
            areturn
        end local 0 // org.hibernate.query.criteria.internal.expression.SearchedCaseExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/query/criteria/internal/expression/SearchedCaseExpression<TR;>;
    Signature: ()Ljavax/persistence/criteria/Expression<+TR;>;

  public java.util.List<org.hibernate.query.criteria.internal.expression.SearchedCaseExpression<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.SearchedCaseExpression this
         0: .line 97
            aload 0 /* this */
            getfield org.hibernate.query.criteria.internal.expression.SearchedCaseExpression.whenClauses:Ljava/util/List;
            areturn
        end local 0 // org.hibernate.query.criteria.internal.expression.SearchedCaseExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/query/criteria/internal/expression/SearchedCaseExpression<TR;>;
    Signature: ()Ljava/util/List<Lorg/hibernate/query/criteria/internal/expression/SearchedCaseExpression<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.SearchedCaseExpression this
        start local 1 // org.hibernate.query.criteria.internal.ParameterRegistry registry
         0: .line 101
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.expression.SearchedCaseExpression.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
         1: .line 102
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.expression.SearchedCaseExpression.getWhenClauses:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.hibernate.query.criteria.internal.expression.SearchedCaseExpression 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.SearchedCaseExpression$WhenClause
            astore 2 /* whenClause */
        start local 2 // org.hibernate.query.criteria.internal.expression.SearchedCaseExpression$WhenClause whenClause
         3: .line 103
            aload 2 /* whenClause */
            invokevirtual org.hibernate.query.criteria.internal.expression.SearchedCaseExpression$WhenClause.getCondition:()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
         4: .line 104
            aload 2 /* whenClause */
            invokevirtual org.hibernate.query.criteria.internal.expression.SearchedCaseExpression$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.SearchedCaseExpression$WhenClause whenClause
         5: .line 102
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 106
            return
        end local 1 // org.hibernate.query.criteria.internal.ParameterRegistry registry
        end local 0 // org.hibernate.query.criteria.internal.expression.SearchedCaseExpression this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/hibernate/query/criteria/internal/expression/SearchedCaseExpression<TR;>;
            0    7     1    registry  Lorg/hibernate/query/criteria/internal/ParameterRegistry;
            3    5     2  whenClause  Lorg/hibernate/query/criteria/internal/expression/SearchedCaseExpression<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.SearchedCaseExpression this
        start local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
         0: .line 109
            aload 0 /* this */
         1: .line 110
            aload 1 /* renderingContext */
         2: .line 111
            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/SearchedCaseExpression.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 109
            invokevirtual org.hibernate.query.criteria.internal.expression.SearchedCaseExpression.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.SearchedCaseExpression this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/hibernate/query/criteria/internal/expression/SearchedCaseExpression<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.SearchedCaseExpression this
        start local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
         0: .line 116
            aload 0 /* this */
         1: .line 117
            aload 1 /* renderingContext */
         2: .line 118
            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/SearchedCaseExpression.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 116
            invokevirtual org.hibernate.query.criteria.internal.expression.SearchedCaseExpression.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.SearchedCaseExpression this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/hibernate/query/criteria/internal/expression/SearchedCaseExpression<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.SearchedCaseExpression this
        start local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
         0: .line 124
            aload 0 /* this */
         1: .line 125
            aload 1 /* renderingContext */
         2: .line 126
            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/SearchedCaseExpression.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 124
            invokevirtual org.hibernate.query.criteria.internal.expression.SearchedCaseExpression.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.SearchedCaseExpression this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/hibernate/query/criteria/internal/expression/SearchedCaseExpression<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.SearchedCaseExpression this
        start local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
        start local 2 // java.util.function.BiFunction formatter
         0: .line 133
            new java.lang.StringBuilder
            dup
            ldc "case"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 3 /* caseStatement */
        start local 3 // java.lang.StringBuilder caseStatement
         1: .line 134
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.expression.SearchedCaseExpression.getWhenClauses:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: org.hibernate.query.criteria.internal.expression.SearchedCaseExpression org.hibernate.query.criteria.internal.compile.RenderingContext java.util.function.BiFunction java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.query.criteria.internal.expression.SearchedCaseExpression$WhenClause
            astore 4 /* whenClause */
        start local 4 // org.hibernate.query.criteria.internal.expression.SearchedCaseExpression$WhenClause whenClause
         3: .line 135
            aload 3 /* caseStatement */
            ldc " when "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 136
            aload 2 /* formatter */
            aload 4 /* whenClause */
            invokevirtual org.hibernate.query.criteria.internal.expression.SearchedCaseExpression$WhenClause.getCondition:()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;
         5: .line 137
            ldc " then "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 138
            aload 2 /* formatter */
            aload 4 /* whenClause */
            invokevirtual org.hibernate.query.criteria.internal.expression.SearchedCaseExpression$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.SearchedCaseExpression$WhenClause whenClause
         7: .line 134
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 140
            aload 3 /* caseStatement */
            ldc " else "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 141
            aload 2 /* formatter */
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.expression.SearchedCaseExpression.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;
        10: .line 142
            ldc " end"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 143
            aload 3 /* caseStatement */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder caseStatement
        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.SearchedCaseExpression this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0              this  Lorg/hibernate/query/criteria/internal/expression/SearchedCaseExpression<TR;>;
            0   12     1  renderingContext  Lorg/hibernate/query/criteria/internal/compile/RenderingContext;
            0   12     2         formatter  Ljava/util/function/BiFunction<Lorg/hibernate/query/criteria/internal/Renderable;Lorg/hibernate/query/criteria/internal/compile/RenderingContext;Ljava/lang/String;>;
            1   12     3     caseStatement  Ljava/lang/StringBuilder;
            3    7     4        whenClause  Lorg/hibernate/query/criteria/internal/expression/SearchedCaseExpression<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 111
            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 118
            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 126
            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: <R:Ljava/lang/Object;>Lorg/hibernate/query/criteria/internal/expression/ExpressionImpl<TR;>;Ljavax/persistence/criteria/CriteriaBuilder$Case<TR;>;Ljava/io/Serializable;
SourceFile: "SearchedCaseExpression.java"
NestMembers:
  org.hibernate.query.criteria.internal.expression.SearchedCaseExpression$WhenClause
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Case = javax.persistence.criteria.CriteriaBuilder$Case 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.SearchedCaseExpression$WhenClause of org.hibernate.query.criteria.internal.expression.SearchedCaseExpression