package Ġorg . kom apper . core . dsl . operator Ċ Ċ import Ġorg . kom apper . core . dsl . expression . Case Expression Ċ import Ġorg . kom apper . core . dsl . expression . Column Expression Ċ import Ġorg . kom apper . core . dsl . expression . When Ċ Ċ /** Ċ Ġ* ĠBuilds Ġa Ġcase Ġexpression . Ċ Ġ*/ Ċ fun Ġ< T Ġ: ĠAny , ĠS Ġ: ĠAny > Ġcase ( ĊĠĠĠ Ġfirst When : ĠWhen < T , ĠS >, ĊĠĠĠ Ġvar arg Ġremaining When : ĠWhen < T , ĠS >, ĊĠĠĠ Ġotherwise : Ġ(() Ġ-> ĠColumn Expression < T , ĠS >) ? Ġ= Ġnull Ċ ): ĠColumn Expression < T , ĠS > Ġ{ ĊĠĠĠ Ġreturn ĠCase Expression ( first When , Ġremaining When . toList (), Ġotherwise ?. invoke ()) Ċ } Ċ