code: public function buildSoapClient($service)
      {
          $director = new Soap\SoapClientDirector($this->username, $this->mode, $this->endpoint);
  
          switch ($service) {
              case 'DomainService':
                  return $director->build(new Soap\Builder\DomainSoapClientBuilder);
              case 'ColocationService':
                  return $director->build(new Soap\Builder\ColocationSoapClientBuilder);
              case 'ForwardService':
                  return $director->build(new Soap\Builder\ForwardSoapClientBuilder);
              case 'VpsService':
                  return $director->build(new Soap\Builder\VpsSoapClientBuilder);
              case 'WebhostingService':
                  return $director->build(new Soap\Builder\WebHostingSoapClientBuilder);
              case 'HaipService':
                  return $director->build(new Soap\Builder\HaipSoapClientBuilder);
              default:
                  throw new \InvalidArgumentException(sprintf('Undefined soap client service builder called: [%s]', $service));
          }
      }
docs: Build the SOAP client for the given service.
  
  @param string $service Name of the service to build the SOAP client for
  
  @throws \InvalidArgumentException
  
  @return \TransIP\Soap\SoapClient