class TransSupplier implements Supplier<Trans> {

  public Trans get() {
    if ( Utils.isEmpty( transMeta.getVariable( "engine" ) ) ) {
      log.logBasic( "Using legacy execution engine" );
      return fallbackSupplier.get();
    }

    Variables variables = new Variables();
    variables.initializeVariablesFrom( null );
    String protocol = transMeta.getVariable( "engine.protocol" );
    String host = transMeta.getVariable( "engine.host" );
    String port = transMeta.getVariable( "engine.port" );
    //default value for ssl for now false
    boolean ssl = "https".equalsIgnoreCase( protocol ) || "wss".equalsIgnoreCase( protocol );
    return new TransWebSocketEngineAdapter( transMeta, host, port, ssl );
  }

  public  TransSupplier( TransMeta transMeta, LogChannelInterface log, Supplier<Trans> fallbackSupplier );

}