question: private void stepWithTimeout ( AnyKindOfStep step , int isolateId ) throws PlayerDebugException { int timeout = m_session . getPreference ( SessionManager . PREF_RESPONSE_TIMEOUT ) ; long timeoutTime = System . currentTimeMillis ( ) + timeout ; step . step ( ) ; IsolateSession workerSession = m_session . getWorkerSession ( isolateId ) ; while ( System . currentTimeMillis ( ) < timeoutTime && ! workerSession . isSuspended ( ) ) { processEvents ( ) ; if ( ! m_session . isSuspended ( ) ) { try { Thread . sleep ( 1 ) ; } catch ( InterruptedException e ) { } } } if ( System . currentTimeMillis ( ) >= timeoutTime && ! workerSession . isSuspended ( ) ) throw new NoResponseException ( timeout ) ; }
target:  Helper function to do a stepInto, stepOver, stepOut, or stepContinue, and then to block (processing events) until either the step has completed or it has timed out.