@Override public Object getReducedValue( final Object ctx, final Object thisValue, final VariableResolverFactory factory) { try { return !((Boolean) MVEL.eval(expr, start, offset, ctx, factory)); } catch (final NullPointerException e) { throw new CompileException("negation operator applied to a null value", expr, start, e); } catch (final ClassCastException e) { throw new CompileException( "negation operator applied to non-boolean expression", expr, start, e); } }