text: public boolean matches(ValueEval x) {if (x instanceof BlankEval) {switch(getCode()) {case CmpOp.NONE:case CmpOp.EQ:return _value.length() == 0;case CmpOp.NE:return _value.length() != 0;}return false;}if(!(x instanceof StringEval)) {return false;}String testedValue = ((StringEval) x).getStringValue();if (testedValue.length() < 1 && _value.length() < 1) {switch(getCode()) {case CmpOp.NONE: return true;case CmpOp.EQ:   return false;case CmpOp.NE:   return true;}return false;}if (_pattern != null) {return evaluate(_pattern.matcher(testedValue).matches());}return evaluate(testedValue.compareToIgnoreCase(_value));}