public function setFullyQualifiedType(string $type): self
    {
        if ('' === $type) {
            $this->fully_qualified_type = '';

            return $this;
        }

        if ($type[0] === '\\') {
            $this->fully_qualified_type = $type;

            return $this;
        }

        throw new \DomainException(sprintf('The type %s is not a valid fully qualified class name', $type));
    }