public function setValue($value)
    {
        if (!$value) {
            if (!$this->getName()) {
                throw new \InvalidArgumentException('Value must not be empty.');
            }
            $value = self::filterValue($this->getName());
        }

        $this->value = (string) $value;

        return $this;
    }