/// <summary>
        /// Adds the specified item to the collection.
        /// </summary>
        /// <param name="condition">The item to add to the collection.</param>
        internal void Add(PropertyTriggerCondition condition)
        {
            Contract.Require(condition, "condition");

            conditions.Add(condition);
            UpdateCanonicalName();
        }
        /// <summary>
        /// Gets a value indicating whether the collection contains the specified item.
        /// </summary>
        /// <param name="condition">The item to evaluate.</param>
        /// <returns><c>true</c> if the collection contains the specified item; otherwise, <c>false</c>.</returns>
        internal Boolean Contains(PropertyTriggerCondition condition)
        {
            Contract.Require(condition, "condition");

            return conditions.Contains(condition);
        }
        /// <summary>
        /// Removes the specified item from the collection.
        /// </summary>
        /// <param name="condition">The item to remove from the collection.</param>
        internal Boolean Remove(PropertyTriggerCondition condition)
        {
            Contract.Require(condition, "condition");

            return conditions.Remove(condition);
        }