public void InsertConditionAt(ICondition condition, int index)
        {
            AbstractCompositeConditionDef compositeConditionDef =
                GetConditionDef() as AbstractCompositeConditionDef;

            if (m_list.Count < compositeConditionDef.GetMaxSubconditionNumber())
            {
                m_list.Insert(index, condition);
            }
            else
            {
                throw new AppendSubconditionException(this, condition);
            }
        }
        public void AppendCondition(ICondition condition)
        {
            AbstractCompositeConditionDef compositeConditionDef =
                GetConditionDef() as AbstractCompositeConditionDef;

            if (m_list.Count < compositeConditionDef.GetMaxSubconditionNumber())
            {
                m_list.Add(condition);
            }
            else
            {
                throw new AppendSubconditionException(this, condition);
            }
        }