/**
  * Create a new gateway instance
  *
  * @param string                $class              Gateway name
  * @param ClientInterface|null  $httpClient         A Guzzle HTTP Client implementation
  * @param HttpRequestStack|null $httpRequestStack   A Symfony HTTP Request stack
  * @throws RuntimeException                         If no such gateway is found
  * @return GatewayInterface                         An object of class $class is created and returned
  */
 public function create($class, ClientInterface $httpClient = null, HttpRequestStack $httpRequestStack = null)
 {
     $class = Helper::getGatewayClassName($class);
     if (!class_exists($class)) {
         throw new RuntimeException("Class '{$class}' not found");
     }
     /** @var AbstractGateway $gateway */
     $gateway = new $class($httpClient, $httpRequestStack);
     $gatewayClassInfo = new ReflectionClass($gateway);
     $gateway->setPath(dirname($gatewayClassInfo->getFileName()));
     return $gateway;
 }