code: 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);
      }
docs: Generates the provided `$proxyClassName` from the given `$className` and `$proxyParameters`
  @param string $proxyClassName
  @param string $className
  @param array  $proxyParameters
  
  @return void