/// <summary>
		/// 	Проверяет применимость правила
		/// </summary>
		/// <param name="str"> </param>
		/// <returns> </returns>
		public bool Match(FioStruct str) {
			var item = str.GetPart(Part);
			if (string.IsNullOrWhiteSpace(item)) {
				return false;
			}
			if(IsPrefix) {
				return string.IsNullOrWhiteSpace(Suffix) || item.StartsWith(Suffix);
			}else
				return string.IsNullOrWhiteSpace(Suffix) || item.EndsWith(Suffix);
		}
		/// <summary>
		/// 	Применяет правило к целевой структуре
		/// </summary>
		/// <param name="str"> </param>
		public void Apply(FioStruct str) {
			var item = str.GetPart(Part);
			if (Type == FioTrasformerRuleType.Append) {
				item = item + Changer;
			}
			else {
				item = Regex.Replace(item, Suffix + "$", Changer, RegexOptions.Compiled);
			}
			str.SetPart(Part, item);
		}