public function setFragment($fragment)
    {
        if (!is_null($fragment) && !is_string($fragment)) {
            $argumentType = (is_object($fragment)) ? get_class($fragment) : gettype($fragment);
            throw new \InvalidArgumentException('Expected fragment as string; got ' . $argumentType);