public function setPropertyValueCondition($condition)
    {
        if (!($condition instanceof PalettePropertyValueCondition)
            && (!$condition instanceof PropertyValueCondition)
        ) {
            throw new DcGeneralInvalidArgumentException(
                'The condition is invalid. ' .
                ' Only use PalettePropertyValueCondition or PropertyValueCondition.'
            );
        }

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