src/Isolate/LazyObjects/Proxy/Adapter/OcramiusProxyManager/Factory/LazyObjectsFactory.php
private function generateProxyClass($proxyClassName, $className, array $proxyParameters)
    {
        if ($this->generationStrategy === self::GENERATE_NEVER) {
            return ;
        }

        if ($this->generationStrategy === self::GENERATE_WHEN_NOT_EXISTS && class_exists($proxyClassName)) {
            return ;
        }

        $className = $this->configuration->getClassNameInflector()->getUserClassName($className);
        $phpClass  = new ClassGenerator($proxyClassName);

        $this->generator->generate(new ReflectionClass($className), $phpClass);

        $phpClass = $this->configuration->getClassSignatureGenerator()->addSignature($phpClass, $proxyParameters);

        $this->configuration->getGeneratorStrategy()->generate($phpClass);
        $this->configuration->getProxyAutoloader()->__invoke($proxyClassName);
    }
private function generateProxyClass($proxyClassName, $className, array $proxyParameters)
    {
        if ($this->generationStrategy === self::GENERATE_NEVER) {
            return ;
        }

        if ($this->generationStrategy === self::GENERATE_WHEN_NOT_EXISTS && class_exists($proxyClassName)) {
            return ;
        }

        $className = $this->configuration->getClassNameInflector()->getUserClassName($className);
        $phpClass  = new ClassGenerator($proxyClassName);

        $this->generator->generate(new ReflectionClass($className), $phpClass);

        $phpClass = $this->configuration->getClassSignatureGenerator()->addSignature($phpClass, $proxyParameters);

        $this->configuration->getGeneratorStrategy()->generate($phpClass);
        $this->configuration->getProxyAutoloader()->__invoke($proxyClassName);
    }
Generates the provided `$proxyClassName` from the given `$className` and `$proxyParameters`
@param string $proxyClassName
@param string $className
@param array  $proxyParameters

@return void