question: static < T extends MultiThreadedTest . TestThread > void runTestThreads ( List < T > threads ) { long startTime = System . nanoTime ( ) + 200000000L ; for ( T thread : threads ) { if ( thread . startTime == 0 ) { thread . startTime = startTime ; } thread . start ( ) ; } for ( T thread : threads ) { try { thread . join ( ) ; } catch ( InterruptedException e ) { throw new RuntimeException ( e ) ; } if ( thread . cause != null ) { throw new RuntimeException ( thread . cause ) ; } } }
target:  Runs list of test threads.