public static TaskFuture start ( Config config , Class < ? extends Sequencable > sequenceClass , Object ... arguments ) { Check . notNull ( config ) ; Check . notNull ( sequenceClass ) ; Check . notNull ( arguments ) ; final Runnable runnable = ( ) -> handle ( config , sequenceClass , arguments ) ; final Thread thread = new Thread ( runnable , Constant . ENGINE_NAME ) ; final AtomicReference < Throwable > reference = new AtomicReference <> ( ) ; thread . setUncaughtExceptionHandler ( ( t , e ) -> { reference . set ( e ) ; Verbose . exception ( e ) ; Engine . terminate ( ) ; } ) ; thread . start ( ) ; return ( ) -> check ( thread , reference ) ; }
Start the loader with an initial sequence .