private Object [ ] nextArgs ( Iterator [ ] iterators ) { if ( runStatus != OK ) return null ; Object [ ] next = new Object [ iterators . length ] ; for ( int i = 0 ; i < iterators . length ; i ++ ) try { next [ i ] = iterators [ i ] . next ( ) ; } catch ( Throwable t ) { runStatus = supervisor . error ( new ErrorInfo ( currentFeature . getDataProviders ( ) . get ( i ) . getDataProviderMethod ( ) , t ) ) ; return null ; } try { return ( Object [ ] ) invokeRaw ( sharedInstance , currentFeature . getDataProcessorMethod ( ) , next ) ; } catch ( Throwable t ) { runStatus = supervisor . error ( new ErrorInfo ( currentFeature . getDataProcessorMethod ( ) , t ) ) ; return null ; } }
advances iterators and computes args