@Override
  public InstantFilter parseInstantText(String expression)
    throws ParseException {
    expression = expression.trim();
    Matcher matcher = expressionMatcher.matcher(expression);
    if (matcher.matches()) {
      // all expressions match!
      IOperand op = operands.get(matcher.group(1));
      if (op == null) {
        // note that instant does not apply if there is an operator!
        op = getDefaultOperator();
      }

      InstantFilter ret = new InstantFilter();
      ret.filter = op.create(this, matcher.group(3));
      ret.expression = (op == instantOperand)
                       ? getInstantAppliedExpression(expression) : expression;

      return ret;
    }

    throw new ParseException("", 0);
  }
@Override
  public InstantFilter parseInstantText(String expression)