public function addCondition($strType, $blnValue, $arrComparisons, $intComparisonType = ValidForm::VFORM_MATCH_ANY)
    {
        if ($this->hasCondition($strType)) {
            // Get an existing condition if it's already there.
            $objCondition = $this->getCondition($strType);
        } else {
            // Add a new one if this condition type doesn't exist yet.
            $objCondition = new Condition($this, $strType, $blnValue, $intComparisonType);
        }

        if (is_array($arrComparisons) && count($arrComparisons) > 0) {
            /* @var $varComparison array|Comparison */
            foreach ($arrComparisons as $varComparison) {
                if (is_array($varComparison) || get_class($varComparison) === "ValidFormBuilder\\Comparison") {
                    try {
                        $objCondition->addComparison($varComparison);
                    } catch (\InvalidArgumentException $e) {
                        throw new \Exception("Could not set condition: " . $e->getMessage(), 1);
                    }
                } else {
                    throw new \InvalidArgumentException("Invalid or no comparison(s) supplied.", 1);
                }
            }

            array_push($this->__conditions, $objCondition);
        } else {
            throw new \InvalidArgumentException("Invalid or no comparison(s) supplied.", 1);
        }
    }