### Question:
Coalesce extends MutableExpressionBase<T> { public StringExpression asString() { return Expressions.stringOperation(Ops.COALESCE, getExpressionList()); } Coalesce(Class<? extends T> type, Expression<?>... exprs);  Coalesce(Expression... exprs); @Override R accept(Visitor<R,C> v, C context); ComparableExpression<T> getValue(); DslExpression<T> as(Path<T> alias); DslExpression<T> as(String alias); final Coalesce<T> add(Expression<T> expr); OrderSpecifier<T> asc(); OrderSpecifier<T> desc(); final Coalesce<T> add(T constant); BooleanExpression asBoolean(); DateExpression<T> asDate(); DateTimeExpression<T> asDateTime(); EnumExpression<?> asEnum(); NumberExpression<?> asNumber(); StringExpression asString(); TimeExpression<T> asTime(); @Override boolean equals(Object o);  }### Answer:
@Test public void asString() { Coalesce<String> c = new Coalesce<String>(firstname, lastname); c.asString().lower(); }