/**
  * Constructor.
  *
  * @param string     $methodRef The fullname of API method
  * @param array      $params    The params for method of API
  * @param User       $user      The user
  * @param SoapClient $client    The SOAP client
  *
  * @throws \InvalidArgumentException
  */
 public function __construct($methodRef, array $params, User $user, SoapClient $client)
 {
     parent::__construct($methodRef, $params, $user);
     $this->client = $client;
 }
 /**
  * Releases the locking after calling API's method.
  *
  * @param PreCallEvent $event The event
  */
 public function releaseLock(PreCallEvent $event)
 {
     $this->getSemaphore($event->getUser())->release();
 }