code: public boolean parse(String criteria, Map<String, ? extends Object> attributes) throws CriteriaParseException {
          if (criteria == null) {
              return true;
          } else {
              try {
                  return Boolean.parseBoolean(FREEMARKER_BUILTINS.eval(criteria, attributes));
              } catch (TemplateException ex) {
                  throw new CriteriaParseException(ex);
              }
          }
      }
docs: Parses the provided criteria expression, which must have a
  boolean value.
  
  @param criteria the criteria expression string. If <code>null</code>,
  this method returns <code>true</code>.
  @param attributes any user attribute-value pairs. The attribute names
  may be used as variables.
  @return <code>true</code> if the provided criteria is <code>null</code>
  or evaluates to <code>true</code>, <code>false</code> otherwise.
  @throws CriteriaParseException if an error occurred parsing the criteria
  expression, most likely because the expression is invalid.