protected function setPrototype($prototype)
    {
        if ($this->entityName) {
            throw RuntimeException::setPrototypeCalledAgain();
        }

        $this->entityName = is_object($prototype)
            ? get_class($prototype)
            : $prototype;
    }