/// <summary>
        /// Splits the condition flags.
        /// </summary>
        /// <param name="flags">The flags.</param>
        /// <returns></returns>
        protected IConditionFlagProcessor SplitConditionFlags(string flags)
        {
            IConditionFlagProcessor dictionary = new ConditionFlagProcessor();

            foreach (string flag in flags.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
            {
                IConditionFlag conditionFlag = AddConditionFlag(flag);
                if (conditionFlag != null)
                {
                    dictionary.Add(conditionFlag);
                }
            }

            return(dictionary);
        }
		/// <summary>
		/// Adds the specified flag.
		/// </summary>
		/// <param name="flag">The flag.</param>
		public void Add(IConditionFlag flag)
		{
			_flags.Add(flag);
		}
 /// <summary>
 /// Adds the specified flag.
 /// </summary>
 /// <param name="flag">The flag.</param>
 public void Add(IConditionFlag flag)
 {
     _flags.Add(flag);
 }