### Question:
SimpleExpression extends DslExpression<T> { public CaseForEqBuilder<T> when(T other) { return new CaseForEqBuilder<T>(mixin, ConstantImpl.create(other)); } SimpleExpression(Expression<T> mixin); @Override SimpleExpression<T> as(Path<T> alias); @Override SimpleExpression<T> as(String alias); BooleanExpression isNotNull(); BooleanExpression isNull(); NumberExpression<Long> count(); NumberExpression<Long> countDistinct(); BooleanExpression eq(T right); BooleanExpression eq(Expression<? super T> right); BooleanExpression eqAll(CollectionExpression<?, ? super T> right); BooleanExpression eqAny(CollectionExpression<?, ? super T> right); BooleanExpression eqAll(SubQueryExpression<? extends T> right); BooleanExpression eqAny(SubQueryExpression<? extends T> right); BooleanExpression in(Collection<? extends T> right); BooleanExpression in(T... right); BooleanExpression in(CollectionExpression<?,? extends T> right); BooleanExpression in(SubQueryExpression<? extends T> right); BooleanExpression in(Expression<? extends T>... right); BooleanExpression ne(T right); BooleanExpression ne(Expression<? super T> right); BooleanExpression neAll(CollectionExpression<?, ? super T> right); BooleanExpression neAny(CollectionExpression<?, ? super T> right); BooleanExpression notIn(Collection<? extends T> right); BooleanExpression notIn(T... right); final BooleanExpression notIn(CollectionExpression<?,? extends T> right); final BooleanExpression notIn(SubQueryExpression<? extends T> right); final BooleanExpression notIn(Expression<? extends T>... right); SimpleExpression<T> nullif(Expression<T> other); SimpleExpression<T> nullif(T other); CaseForEqBuilder<T> when(T other); CaseForEqBuilder<T> when(Expression<? extends T> other);  }### Answer:
@Test public void case_() { SimpleExpression<String> str = new StringPath("str"); str.when("xxx").thenNull().otherwise(str); }