class JexlCondition implements Condition {

    private final JexlScript compiledScript;

    public JexlCondition(String expression) {
        Objects.requireNonNull(expression, "expression cannot be null");
        this.compiledScript = JexlRule.DEFAULT_JEXL.createScript(expression);
    }

    public JexlCondition(String expression, JexlEngine jexl) {
        Objects.requireNonNull(expression, "expression cannot be null");
        Objects.requireNonNull(jexl, "jexl cannot be null");
        this.compiledScript = jexl.createScript(expression);
    }

    @Override
    public boolean evaluate(Facts facts) {<FILL_FUNCTION_BODY>}
}

        Objects.requireNonNull(facts, "facts cannot be null");
        MapContext ctx = new MapContext(facts.asMap());
        return (Boolean) compiledScript.execute(ctx);
    
<no_super_class>