code: @Override
      protected void initializeImpl()
      {
          //get connection factory class name
          this.commConnectionFactoryClassName=this.getConfigurationValue(FaxClientSpiConfigurationConstants.CONNECTION_FACTORY_CLASS_NAME_PROPERTY_KEY);
          if(this.commConnectionFactoryClassName==null)
          {
              this.commConnectionFactoryClassName=RXTXCommPortConnectionFactory.class.getName();
          }
          
          //create connection factory
          this.commConnectionFactory=this.createCommPortConnectionFactory();
          if(this.commConnectionFactory==null)
          {
              throw new FaxException("COMM connection factory is not available.");
          }
  
          //get fax modem class name
          this.faxModemClassName=this.getConfigurationValue(FaxClientSpiConfigurationConstants.FAX_MODEM_CLASS_NAME_PROPERTY_KEY);
          if(this.faxModemClassName==null)
          {
              throw new FaxException("Fax modem class name not defined in fax4j.properties. Property: "+FaxClientSpiConfigurationConstants.FAX_MODEM_CLASS_NAME_PROPERTY_KEY);
          }
          
          //create fax modem adapter
          this.faxModemAdapter=this.createFaxModemAdapter();
          if(this.faxModemAdapter==null)
          {
              throw new FaxException("Fax modem adapter is not available.");
          }
      }
docs: This function initializes the fax client SPI.