text: public override bool Matches(ValueEval x){if (x is BlankEval){switch (_operator.Code){case CmpOp.NONE:case CmpOp.EQ:return _value.Length == 0;case CmpOp.NE:return _value.Length != 0;}return false;}if (!(x is StringEval)){return false;}String testedValue = ((StringEval)x).StringValue;if ((testedValue.Length < 1 && _value.Length < 1)){switch (_operator.Code){case CmpOp.NONE: return true;case CmpOp.EQ: return false;case CmpOp.NE: return true;}return false;}if (_pattern != null){return Evaluate(_pattern.IsMatch(testedValue));}return Evaluate(string.Compare(testedValue, _value, StringComparison.CurrentCultureIgnoreCase));}