code: private static FaxClientSpiProxy createFaxClientSpiProxy(FaxClientSpi faxClientSpi)
      {
          //create fax client SPI interceptors
          FaxClientSpiInterceptor[] interceptors=FaxClientSpiFactory.createFaxClientSpiInterceptors(faxClientSpi);
          
          //get class name
          String className=faxClientSpi.getConfigurationValue(FaxClientSpiFactory.SPI_PROXY_CLASS_NAME_PROPERTY_KEY);
          if(className==null)
          {
              className=FaxClientSpiProxyImpl.class.getName();
          }
  
          //create new instance
          FaxClientSpiProxy faxClientSpiProxy=(FaxClientSpiProxy)ReflectionHelper.createInstance(className);
          
          //initialize
          faxClientSpiProxy.initialize(faxClientSpi,interceptors);
          
          return faxClientSpiProxy;
      }
docs: This function creates the fax client SPI proxy.
  
  @param   faxClientSpi
  The fax client SPI
  @return  The fax client SPI proxy