public function add($value)
    {
        /** @var $tag TagInterface */
        $tag = $this->create($value);

        if (null !== $persistedTag = $this->findOneByCode($tag->getCode())) {
            $tag = $persistedTag;
        } else {
            $this->save($tag);
        }

        return $tag;
    }