code: public static Gateway createGateway() {
          Gateway gateway = null;
          for (GatewayCreator factory : loader) {
              gateway = factory.createGateway(gateway);
              factory.configureGateway(gateway);
          }
  
          if (gateway == null) {
              throw new RuntimeException("Failed to load GatewayCreator implementation class.");
          }
  
          return gateway;
      }
docs: Creates an implementation of an Gateway.
  @return a Gateway