@Override
  public boolean evaluate(final ItemProcessingContext context) throws TemplateProcessingInterrupt {
    final Value value = getExpression().evaluate(context);

    if (value.isNull() || !((BooleanValue) value).booleanValue()) {
      return false;
    }

    super.evaluate(context);
    return true;
  }
 @Override
 protected void validateThis(final ValidationContext context) {
   super.validateThis(context);
   AbstractExpression.validateChildExpressionSignatures(this, context);
 }