### Question:
Coalesce extends MutableExpressionBase<T> { public OrderSpecifier<T> desc() { return getValue().desc(); } 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 desc() { assertEquals("coalesce(firstname, xxx) DESC", firstname.coalesce("xxx").desc().toString()); }