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);
        }