public function setDefaultVocabulary(VocabularyInterface $vocabulary)
    {
        // If the new default vocabulary differs from the current one
        if ($this->defaultVocabulary !== $vocabulary) {
            $context = clone $this;
            $context->defaultVocabulary = $vocabulary;
            return $context;
        }

        return $this;
    }