public function setClassName($className)
    {
        $className = (string) $className;

        /** @noinspection IsEmptyFunctionUsageInspection */
        if (empty($className)) {
            throw new Exception\InvalidArgumentException('Class Name must be a non-empty string.');
        }

        $this->className = $className;

        return $this;
    }