code: public static Filter toStaticFilter(String cqlExpression, Class clazz) throws ParseException {
  
          try {
              Parser p = new Parser( new Lexer( new PushbackReader(new StringReader(cqlExpression), 1024)));
              // Parse the input.
              Start tree = p.parse();
  
              // Build the filter expression
              FilterExpressionBuilder builder = new FilterExpressionBuilder();
              tree.apply(builder);
  
              // Wrap in a filter
              return new Filter(builder.getExp());
          }
          catch(ParserException e) {
  
              ParseException parseException = new ParseException(e.getMessage(), e.getToken().getPos());
              parseException.initCause(e);
              throw parseException;
          }
          catch (LexerException e) {
  
              ParseException parseException = new ParseException(e.getMessage(), 0);
              parseException.initCause(e);
              throw parseException;
          }
          catch (IOException e) {
  
              ParseException parseException = new ParseException(e.getMessage(), 0);
              parseException.initCause(e);
              throw parseException;
          }
      }
docs: Creates an executable object filter based on the given CQL expression.
  This filter is only applicable for the given class.
  @param cqlExpression The CQL expression.
  @param clazz The type for which to construct the filter.
  @return An object filter that behaves according to the given CQL expression.
  @throws java.text.ParseException When parsing fails for any reason (parser, lexer, IO)