protected override void ValidateRead(List <ValidationError> errors) { if (this.Words == null || this.Words.Length == 0) { errors.Add(new RulePhrase.RulePhraseValidationError(RulesTasksStrings.ArgumentNotSet, base.Name)); return; } Word[] words = this.Words; int i = 0; while (i < words.Length) { Word word = words[i]; string value = word.Value; int index; if (!string.IsNullOrEmpty(value) && !Utils.CheckIsUnicodeStringWellFormed(value, out index)) { errors.Add(new RulePhrase.RulePhraseValidationError(RulesTasksStrings.CommentsHaveInvalidChars((int)value[index]), base.Name)); } else { int num = value.IndexOf(':'); if (num >= 0) { string text = value.Substring(0, num).Trim().ToLowerInvariant(); if (TransportUtils.GetDisclaimerMacroLookupTable().ContainsKey(text)) { i++; continue; } errors.Add(new RulePhrase.RulePhraseValidationError(RulesTasksStrings.InvalidMacroName(text), base.Name)); } else { errors.Add(new RulePhrase.RulePhraseValidationError(RulesTasksStrings.MacroNameNotSpecified(value), base.Name)); } } return; } base.ValidateRead(errors); }