code: public static Service createService(Enum<?> classNameKey,String defaultClassName,ConfigurationHolder configurationHolder,String propertyPart)
      {
          //validate input
          if(classNameKey==null)
          {
              throw new FaxException("Service class name key not provided.");
          }
  
          //convert to string
          String classNameKeyString=classNameKey.toString();
          
          //create service
          Service service=ServiceFactory.createService(classNameKeyString,defaultClassName,configurationHolder,propertyPart);
          
          return service;
      }
docs: This function creates, initializes and returns new service objects.
  
  @param   classNameKey
  The configuration key holding the service object class name
  @param   defaultClassName
  The default service object class name if the value was not found in the configuration
  @param   configurationHolder
  The configuration holder used to provide the configuration to the service
  @param   propertyPart
  The service property part
  @return  The initialized service object