public function setMinChoices($minChoices)
    {
        if (is_int($minChoices) && $minChoices > 0) {

            if ($minChoices > $this->getMaxChoices() && $this->getMaxChoices() > 0) {
                $msg = "The 'minChoices' argument must respect the limits imposed by 'maxChoices'.";
                throw new InvalidArgumentException($msg);
            } else {
                $this->minChoices = $minChoices;
            }
        } elseif (is_int($minChoices) && $minChoices === 0) {
            $this->minChoices = $minChoices;
        } else {
            $msg = "The 'minChoices' argument must be a positive (>= 0) integer value, '" . gettype($minChoices) . "' given.";
            throw new InvalidArgumentException($msg);
        }
    }