Below is a trace of the call writeStars2(3): writeStars2(3); (n > 0, recursive case) System.out.print("*"); writeStars2(2); (n > 0, recursive case) System.out.print("*"); writeStars2(1); (n > 0, recursive case) System.out.print("*"); writeStars2(0); (n == 0, base case) System.out.println(); Below is a trace of the call stutter(-348): stutter(-348) is < 0, so execute first branch compute stutter(-n), which is stutter(348) | not < 0, not < 10, so execute third branch | compute stutter(34) | | not < 0, not < 10, so execute third branch | | compute stutter(3) | | | not < 0, but is < 10, so execute second branch | | | return n * 11 (33) | | compute stutter(4) | | | not < 0, but is < 10, so execute second branch | | | return n * 11 (44) | | return first * 100 + second (33 * 100 + 44 = 3344) | compute stutter(8) | | not < 0, but is < 10, so execute second branch | | return n * 11 (88) | return first * 100 + second (3344 * 100 + 88 = 334488) return the negation of that result (-334488)