code: public boolean validate() {
  		try {
  			BooleanExpression built = expression.getExpression();
  
  			if (built == null) {
  				// nothing to evaluate.
  				return false;
  			}
  
  			// First check the nesting (an expression must not contain itself)
  			checkNesting(built, new ArrayList<BooleanExpression>());
  
  			// If the expression evaluates correctly, the syntax is correct.
  			built.evaluate();
  		} catch (Exception e) {
  			LogFactory.getLog(getClass()).warn("Invalid expression: " + e.getMessage());
  			return false;
  		}
  
  		return true;
  	}
docs: Determines whether the current expression is syntactically correct.
  
  @return true if the current expression is valid, false if not.