class FormatDateExpression implements Expression, PipeExpression {

    @Override
    public ExpressionResult apply(ExpressionContext context, ExpressionResult input) {
        ExpressionResult value = valueExpression.apply(context, input);
        return value.isNonNull() ?  new StringExpressionResult(format(context, input, value.getNumericValue())) : NullExpressionResult.INSTANCE ;
    }

    public  FormatDateExpression(String alias, Expression... parameters);

}