class GroovyExpression extends ExpressionRuntime {

    @Override
    public String asString() {
        if (expression == null) {           // Builds and caches the expression string the first time it is called
            GroovyExpressionTranslator expressionTranslator = new GroovyExpressionTranslator();
            condition.getExpression().accept(expressionTranslator);
            expression = expressionTranslator.getTranslatedExpression();
        }
        return expression;
    }

    public  GroovyExpression(Condition condition);

}