code: public static MessageFilter compile(String filter) throws InvalidFilterException {
          MessageFilterParser parser = MessageFilterParser.createParser(filter);
          MessageFilterTranslatable t = parseToTranslatable(parser);
          MessageFilter translate = t.translate();
          if (BaseMessageFilter.class.isAssignableFrom(translate.getClass())) {
              ((BaseMessageFilter) translate).setOriginalDslString(filter);
          }
  
          return translate;
      }
docs: Compiles a filter expressed in infix notation to an {@link MessageFilter} instance.
  
  @param filter Filter to compile.
  
  @return {@link MessageFilter} instance compiled from the passed filter.
  
  @throws InvalidFilterException If the input filter is invalid.