public function setProxyTargetDir(string $proxyTargetDir): void
    {
        if (!is_dir($proxyTargetDir)) {
            throw new InvalidArgumentException(
                sprintf(
                    'Proxy target directory "%s" does not exist!',
                    $proxyTargetDir
                ),
                10
            );
        }

        if (!is_writable($proxyTargetDir)) {
            throw new InvalidArgumentException(
                sprintf(
                    'Proxy target directory "%s" is not writable!',
                    $proxyTargetDir
                ),
                20
            );
        }

        $this->proxyTargetDir = $proxyTargetDir;
    }