question: private String dive ( int depth , int iteration ) { String str0 ; String str1 ; String str2 ; String str3 ; String str4 ; String str5 ; String str6 ; String str7 ; String funStr ; funStr = "" ; switch ( iteration % 8 ) { case 0 : funStr = str0 = makeString ( iteration ) ; break ; case 1 : funStr = str1 = makeString ( iteration ) ; break ; case 2 : funStr = str2 = makeString ( iteration ) ; break ; case 3 : funStr = str3 = makeString ( iteration ) ; break ; case 4 : funStr = str4 = makeString ( iteration ) ; break ; case 5 : funStr = str5 = makeString ( iteration ) ; break ; case 6 : funStr = str6 = makeString ( iteration ) ; break ; case 7 : funStr = str7 = makeString ( iteration ) ; break ; } strong [ depth ] = funStr ; weak [ depth ] = new WeakReference ( funStr ) ; if ( depth + 1 < MAX_DEPTH ) dive ( depth + 1 , iteration + 1 ) ; else Main . sleep ( 100 ) ; return funStr ; }
target:  Recursively dive down, setting one or more local variables. We pad the stack out with locals, attempting to create a mix of valid and invalid references on the stack.