public function setConjunction($conjunction)
    {
        if (!is_string($conjunction)) {
            throw new InvalidArgumentException(
                'Conjunction should be a string.'
            );
        }

        $conjunction = strtoupper($conjunction);
        if (!in_array($conjunction, $this->validConjunctions())) {
            throw new InvalidArgumentException(sprintf(
                'Conjunction "%s" not allowed in this context.',
                $conjunction
            ));
        }

        $this->conjunction = $conjunction;
        return $this;
    }