// TODO: test
        private void executeWhile(WhileElement whileNode)
        {
            string valueOF       = whileNode.getAttribute(AttributeConstants.VALUE_OF).getValue().ToString();
            object expectedValue = whileNode.getAttribute(AttributeConstants.VALUE).getValue();
            string conditionType = whileNode.getAttribute(AttributeConstants.CONDITION).getValue().ToString();

            object valueToCheck = this._AttributeSelector.valueOf(valueOF);

            if (valueToCheck == null)
            {
                throw new Exception("Could not assert [null] value-of.");
            }

            try
            {
                ConditionType _condition = EnumUtil.Parse <ConditionType>(conditionType);
                while (AssertionUtil.AssertCondition(_condition, expectedValue, valueToCheck))
                {
                    if (whileNode.hasDoNodes())
                    {
                        runRecursive(whileNode.DoNodes);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private ConditionResult assertCondition(IfElement condition)
        {
            ConditionResult _assertResult = null;

            string valueOF       = condition.getAttribute(AttributeConstants.VALUE_OF).getValue().ToString();
            object expectedValue = condition.getAttribute(AttributeConstants.VALUE).getValue();
            string conditionType = condition.getAttribute(AttributeConstants.CONDITION).getValue().ToString();

            object valueToCheck = this._AttributeSelector.valueOf(valueOF);

            if (valueToCheck == null)
            {
                throw new Exception("Could not assert [null] value-of.");
            }

            try
            {
                ConditionType _condition = EnumUtil.Parse <ConditionType>(conditionType);
                _assertResult = new ConditionResult(
                    AssertionUtil.AssertCondition(_condition, expectedValue, valueToCheck),
                    condition.DoNodes,
                    condition.ElseNodes);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(_assertResult);
        }